B
    ©»ˆdê  ã               @   s„   d dl mZ d dlZd dlZd dlZd dlm  mZ d dl	Z	ddl
mZmZ ejZG dd„ dejƒZdd„ ejjD ƒej e_dS )	é    )ÚDistutilsArgErrorNé   )ÚSetuptoolsDeprecationWarningÚSetuptoolsWarningc               @   s„   e Zd ZdZejjddg Zejjddg Zddd„ fd	d
d„ fgZe	eƒZ
dd„ Zdd„ Zdd„ Zdd„ Zedd„ ƒZdd„ ZdS )Úinstallz7Use easy_install to install the package, w/dependencies)zold-and-unmanageableNzTry not to use this!)z!single-version-externally-managedNz5used by system package builders to create 'flat' eggszold-and-unmanageablez!single-version-externally-managedÚinstall_egg_infoc             C   s   dS )NT© )Úselfr   r   úL/var/www/html/venv/lib/python3.7/site-packages/setuptools/command/install.pyÚ<lambda>   ó    zinstall.<lambda>Úinstall_scriptsc             C   s   dS )NTr   )r	   r   r   r
   r      r   c             C   s,   t jdddd tj | ¡ d | _d | _d S )Nzsetup.py install is deprecated.z±
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer, pypa/build or
            other standards-based tools.
            zAhttps://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html)Zsee_url)r   ÚemitÚorigr   Úinitialize_optionsÚold_and_unmanageableÚ!single_version_externally_managed)r	   r   r   r
   r       s    zinstall.initialize_optionsc             C   s8   t j | ¡ | jrd| _n| jr4| js4| js4tdƒ‚d S )NTzAYou must specify --record or --root when building system packages)r   r   Úfinalize_optionsÚrootr   Úrecordr   )r	   r   r   r
   r   2   s    zinstall.finalize_optionsc             C   s(   | j s| jrtj | ¡S d | _d| _d S )NÚ )r   r   r   r   Úhandle_extra_pathÚ	path_fileÚ
extra_dirs)r	   r   r   r
   r   =   s    zinstall.handle_extra_pathc             C   s@   | j s| jrtj | ¡S |  t ¡ ¡s4tj | ¡ n|  ¡  d S )N)	r   r   r   r   ÚrunÚ_called_from_setupÚinspectÚcurrentframeÚdo_egg_install)r	   r   r   r
   r   G   s
    zinstall.runc             C   s¢   | dkr4d}t  |¡ t ¡ dkr0d}t  |¡ dS t | ¡}x^|dd… D ]N}|dd… \}t |¡}|j d	d
¡}|dkrŠ|j	dkrŠqL|dkoš|j	dkS W dS )añ  
        Attempt to detect whether run() was called from setup() or by another
        command.  If called by setup(), the parent caller will be the
        'run_command' method in 'distutils.dist', and *its* caller will be
        the 'run_commands' method.  If called any other way, the
        immediate caller *might* be 'run_command', but it won't have been
        called by 'run_commands'. Return True in that case or if a call stack
        is unavailable. Return False otherwise.
        Nz4Call stack not available. bdist_* commands may fail.Ú
IronPythonz6For best results, pass -X:Frames to enable call stack.Tr   é   é   Ú__name__r   zsetuptools.distÚrun_commandzdistutils.distÚrun_commands)
r   r   ÚplatformÚpython_implementationr   ÚgetouterframesÚgetframeinfoÚ	f_globalsÚgetÚfunction)Z	run_frameÚmsgÚframesÚframeZcallerÚinfoZcaller_moduler   r   r
   r   R   s     



zinstall._called_from_setupc             C   sŒ   | j  d¡}|| j d| j| jd}| ¡  d|_|j t d¡¡ |  	d¡ | j  
d¡jg}tjrp| dtj¡ ||_|jdd	 d t_d S )
NÚeasy_installÚx)Úargsr   r   Ú.z*.eggZ	bdist_eggr   F)Zshow_deprecation)ÚdistributionÚget_command_classr   r   Úensure_finalizedZalways_copy_fromZpackage_indexÚscanÚglobr#   Úget_command_objZ
egg_outputÚ
setuptoolsZbootstrap_install_fromÚinsertr2   r   )r	   r0   Úcmdr2   r   r   r
   r   t   s    
zinstall.do_egg_installN)r"   Ú
__module__Ú__qualname__Ú__doc__r   r   Úuser_optionsÚboolean_optionsÚnew_commandsÚdictÚ_ncr   r   r   r   Ústaticmethodr   r   r   r   r   r
   r      s   


"r   c             C   s   g | ]}|d  t jkr|‘qS )r   )r   rD   )Ú.0r<   r   r   r
   ú
<listcomp>   s    rG   )Údistutils.errorsr   r   r8   r%   Údistutils.command.installÚcommandr   r   r:   Úwarningsr   r   Ú_installÚsub_commandsrB   r   r   r   r
   Ú<module>   s    