o
    [h                     @   sd   d dl Z d dlmZ d dlmZ d dlmZ d dlZddl	m
Z
 d dlmZ eZG dd	 d	e
ZdS )
    N)import_module)Path)exit   )BaseCommand)app_name_validity_messagec                   @   s   e Zd Zdd Zdd ZdS )Commandc                 C   s   | d d S )Nname)add_argument)selfparser r   y/home/ubuntu/experiments/live_experiments/Pythonexperiments/Otree/venv/lib/python3.10/site-packages/otree/cli/startapp.pyadd_arguments   s   zCommand.add_argumentsc                 C   s0  t |}| rtd| d zt| W n	 ty   Y n	w td| d t|}|r2t| d}t ddD ]}d|d	v rFd
}q;tt ddsRd
}|rht t	j
jd }t|| |d}nt t	j
jd }t|| |d|d| |d}|| d| td d S )Nz There is already an app called "zK" in this folder. Either delete that folder first, or use a different name.'zP' conflicts with the name of an existing Python module. Please try another name.F.z*/__init__.pyzclass Playerutf8Tz*/models.pyZapp_template_litez__init__.pyZapp_templateztemplates/app_namez
templates/z	models.pyz{{ app_name }}zCreated app folder)r   existssys_exitr   ModuleNotFoundErrorr   glob	read_textlistotree__file__parentshutilcopytreejoinpathrename
write_textreplaceprint_function)r   r	   destmsgZ
use_noselfpsrcZmodels_pathr   r   r   handle   sF   




zCommand.handleN)__name__
__module____qualname__r   r'   r   r   r   r   r      s    r   )r   	importlibr   pathlibr   sysr   r   r   baser   Zotree.commonr   printr"   r   r   r   r   r   <module>   s    