o
    ÏÅ[h4
  ã                   @   sl   d dl mZ d dlm  mZ d dlmZ d dlZd dl	Z	d dl
mZmZ ddlmZ G dd„ dejƒZdS )	é    )ÚlogN)ÚDistutilsModuleError)ÚDistributionÚPathMetadataé   )Úensure_directoryc                   @   s*   e Zd ZdZdd„ Zdd„ Zd
dd„Zd	S )Úinstall_scriptsz;Do normal script install, plus any egg_info wrapper scriptsc                 C   s   t j | ¡ d| _d S )NF)Úorigr   Úinitialize_optionsÚno_ep)Úself© r   ú‰/home/ubuntu/experiments/live_experiments/Pythonexperiments/Otree/venv/lib/python3.10/site-packages/setuptools/command/install_scripts.pyr
      s   
z"install_scripts.initialize_optionsc              	   C   s  dd l m  m} |  d¡ | jjrtj | ¡ ng | _	| j
r!d S |  d¡}t|jt|j|jƒ|j|jƒ}|  d¡}t|dd ƒ}z|  d¡}t|ddƒ}W n ttfyZ   d}Y nw |j}|red}|j}|tjkrm|g}| ¡ }|j ¡  |¡}	| ||	 ¡ ¡D ]}
| j|
Ž  qd S )	Nr   Úegg_infoZbuild_scriptsÚ
executableZbdist_wininstZ_is_runningFz
python.exe)Úsetuptools.command.easy_installÚcommandÚeasy_installÚrun_commandÚdistributionÚscriptsr	   r   ÚrunÚoutfilesr   Zget_finalized_commandr   Zegg_baser   r   Úegg_nameZegg_versionÚgetattrÚImportErrorr   ZScriptWriterZWindowsScriptWriterÚsysr   ÚbestZcommand_spec_classZ
from_paramÚget_argsZ	as_headerÚwrite_script)r   ÚeiZei_cmdÚdistZbs_cmdZ
exec_paramZbw_cmdZ
is_wininstÚwriterÚcmdÚargsr   r   r   r      s>   

þ

ÿ
ÿzinstall_scripts.runÚtc           
      G   s†   ddl m}m} t d|| j¡ tj | j|¡}| j	 
|¡ |ƒ }| jsAt|ƒ t|d| ƒ}	|	 |¡ |	 ¡  ||d| ƒ dS dS )z1Write an executable file to the scripts directoryr   )ÚchmodÚcurrent_umaskzInstalling %s script to %sÚwiÿ  N)r   r&   r'   r   ÚinfoZinstall_dirÚosÚpathÚjoinr   ÚappendÚdry_runr   ÚopenÚwriteÚclose)
r   Úscript_nameÚcontentsÚmodeZignoredr&   r'   ÚtargetÚmaskÚfr   r   r   r   8   s   
ûzinstall_scripts.write_scriptN)r%   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   r   r   r   r   r   r   r      s
    &r   )Ú	distutilsr   Z!distutils.command.install_scriptsr   r   r	   Zdistutils.errorsr   r*   r   Úpkg_resourcesr   r   Ú_pathr   r   r   r   r   Ú<module>   s    