
    09oeR                         d dl Z d dlmZ d dlmZ d dlmZ  G d d          Z eej        d          r G d d          ZdS dS )	    N)glob)convert_path)sdistc                   X    e Zd ZdZd Zed             Zd Zd Zd Z	d Z
d Zd	 Zd
 ZdS )sdist_add_defaultsz
    Mix-in providing forward-compatibility for functionality as found in
    distutils on Python 3.7.

    Do not edit the code in this class except to update functionality
    as implemented in distutils. Instead, override in the subclass.
    c                    |                                   |                                  |                                  |                                  |                                  |                                  |                                  dS )a9  Add all the default files to self.filelist:
          - README or README.txt
          - setup.py
          - test/test*.py
          - all pure Python modules mentioned in setup script
          - all files pointed by package_data (build_py)
          - all files defined in data_files.
          - all files defined as scripts.
          - all C sources listed as part of extensions or C libraries
            in the setup script (doesn't catch C headers!)
        Warns if (README or README.txt) or setup.py are missing; everything
        else is optional.
        N)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scripts)selfs    VD:\Python Project\StaffProfile\venv\Lib\site-packages\setuptools/command/py36compat.pyadd_defaultszsdist_add_defaults.add_defaults   s     	$$&&&##%%%!!###%%'''   !!###""$$$$$    c                     t           j                            |           sdS t           j                            |           }t           j                            |          \  }}|t          j        |          v S )z
        Case-sensitive path existence check

        >>> sdist_add_defaults._cs_path_exists(__file__)
        True
        >>> sdist_add_defaults._cs_path_exists(__file__.upper())
        False
        F)ospathexistsabspathsplitlistdir)fspathr   	directoryfilenames       r   _cs_path_existsz"sdist_add_defaults._cs_path_exists&   s_     w~~f%% 	5'//&)) gmmG44	82:i0000r   c                    | j         | j        j        g}|D ]}t          |t                    rj|}d}|D ]5}|                     |          rd}| j                            |            n6|s+|                     dd	                    |          z              |                     |          r| j                            |           |                     d|z             d S )NFTz,standard file not found: should have one of z, zstandard file '%s' not found)
READMESdistributionscript_name
isinstancetupler   filelistappendwarnjoin)r   	standardsfnaltsgot_its        r   r	   z*sdist_add_defaults._add_defaults_standards7   s   \4#4#@A	 	C 	CB"e$$ C  B++B// !%,,R000
  /IIL"iioo. / / / ''++ CM((,,,,II<rABBBB#	C 	Cr   c                     ddg}|D ]H}t          t          j        j        t	          |                    }| j                            |           Id S )Nztest/test*.pyz	setup.cfg)filterr   r   isfiler   r%   extend)r   optionalpatternfiless       r   r
   z)sdist_add_defaults._add_defaults_optionalL   sW    #[1 	( 	(G27>4==99EM  ''''	( 	(r   c                 R   |                      d          }| j                                        r,| j                            |                                           |j        D ]D\  }}}}|D ]:}| j                            t          j	        
                    ||                     ;Ed S )Nbuild_py)get_finalized_commandr!   has_pure_modulesr%   r0   get_source_files
data_filesr&   r   r   r(   )r   r5   pkgsrc_dir	build_dir	filenamesr   s          r   r   z'sdist_add_defaults._add_defaults_pythonR   s     --j99 --// 	>M  !:!:!<!<=== 3;2E 	F 	F.C)Y% F F$$RW\\'8%D%DEEEEF	F 	Fr   c                    | j                                         r| j         j        D ]}t          |t                    rIt          |          }t          j                            |          r| j	        
                    |           `|\  }}|D ]J}t          |          }t          j                            |          r| j	        
                    |           Kd S d S )N)r!   has_data_filesr9   r#   strr   r   r   r/   r%   r&   )r   itemdirnamer=   fs        r   r   z+sdist_add_defaults._add_defaults_data_filesb   s    ++-- 	4)4 4 4dC(( 4'--Dw~~d++ 3,,T222 *.&GY& 4 4(OO7>>!,, 4 M003334	4 	44 4r   c                     | j                                         rC|                     d          }| j                            |                                           d S d S )N	build_ext)r!   has_ext_modulesr6   r%   r0   r8   )r   rE   s     r   r   z$sdist_add_defaults._add_defaults_exts   s^    ,,.. 	?22;??IM  !;!;!=!=>>>>>	? 	?r   c                     | j                                         rC|                     d          }| j                            |                                           d S d S )N
build_clib)r!   has_c_librariesr6   r%   r0   r8   )r   rH   s     r   r   z'sdist_add_defaults._add_defaults_c_libsx   sa    ,,.. 	@33LAAJM  !<!<!>!>?????	@ 	@r   c                     | j                                         rC|                     d          }| j                            |                                           d S d S )Nbuild_scripts)r!   has_scriptsr6   r%   r0   r8   )r   rK   s     r   r   z(sdist_add_defaults._add_defaults_scripts}   sa    ((** 	C 66GGMM  !?!?!A!ABBBBB	C 	Cr   N)__name__
__module____qualname____doc__r   staticmethodr   r	   r
   r   r   r   r   r    r   r   r   r      s         % % %, 1 1 \1 C C C*( ( (F F F 4 4 4"? ? ?
@ @ @
C C C C Cr   r   r	   c                       e Zd ZdS )r   N)rM   rN   rO   rR   r   r   r   r      s        r   )r   r   distutils.utilr   distutils.commandr   r   hasattrrR   r   r   <module>rW      s    				       ' ' ' ' ' ' # # # # # #yC yC yC yC yC yC yC yCx 75;122           r   