/usr/local/lib/python3.9/site-packages/django/db/backends/sqlite3/__pycache__
a Ӱ�h� � @ s` d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m Z G dd� de �ZdS )� N)�Path)�NotSupportedError)�BaseDatabaseCreationc @ sT e Zd Zedd� �Zdd� Zddd�Zdd � Zdd d�Zdd � Z dd� Z dd� ZdS )�DatabaseCreationc C s t | t� o| dkpd| v S )N�:memory:zmode=memory)� isinstancer )Z database_name� r �M/usr/local/lib/python3.9/site-packages/django/db/backends/sqlite3/creation.py�is_in_memory_db s �z DatabaseCreation.is_in_memory_dbc C s, | j jd d pd}|dkr(d| j j S |S )N�TEST�NAMEr z)file:memorydb_%s?mode=memory&cache=shared)� connection� settings_dict�alias)�self�test_database_namer r r �_get_test_db_name s z"DatabaseCreation._get_test_db_nameFc C s� | � � }|r|S | �|�s�|dkr:| �d| �||�f � t�|tj�r�|sXtd| �}|sd|dkr�zt�|� W q� t y� } z$| �d| � t �d� W Y d }~q�d }~0 0 n| �d� t �d� |S )N� �,Destroying old test database for alias %s...zXType 'yes' if you would like to try deleting the test database '%s', or 'no' to cancel: �yes�/Got an error deleting the old test database: %s� zTests cancelled.)r r �log�_get_database_display_str�os�access�F_OK�input�remove� Exception�sys�exit)r � verbosityZautoclobber�keepdbr Zconfirm�er r r �_create_test_db s4 ����" z DatabaseCreation._create_test_dbc C s� | j j}|d }| �|�sHtj�|�\}}i |�d|� d|� |� �i�S t�� }|dkr\|S |dkr�i |�d| j j� d|� d�i�S t d|�d���d S )Nr �_�fork�spawn�.sqlite3zCloning with start method z is not supported.) r r r r �path�splitext�multiprocessing�get_start_methodr r )r �suffixZorig_settings_dict�source_database_name�root�ext�start_methodr r r �get_test_db_clone_settings6 s"