U +aR@sXddlZddlmZddlmZddlmZGdddZeejdrTGdddZdS) N)glob) convert_path)sdistc@s\eZdZdZddZeddZddZdd Zd d Z d d Z ddZ ddZ ddZ dS)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. cCs<|||||||dS)a9Add 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)selfrE/tmp/pip-install-1bd_1mtk/setuptools/setuptools/command/py36compat.py add_defaultsszsdist_add_defaults.add_defaultscCs:tj|sdStj|}tj|\}}|t|kS)z Case-sensitive path existence check >>> sdist_add_defaults._cs_path_exists(__file__) True >>> sdist_add_defaults._cs_path_exists(__file__.upper()) False F)ospathexistsabspathsplitlistdir)fspathr directoryfilenamerrr_cs_path_exists&s  z"sdist_add_defaults._cs_path_existscCs|j|jjg}|D]~}t|trj|}d}|D]"}||r,d}|j|qPq,|s|dd |q||r|j|q|d|qdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) ZREADMES distribution script_name isinstancetuplerfilelistappendwarnjoin)r Z standardsfnZaltsZgot_itrrrr7s"    z*sdist_add_defaults._add_defaults_standardscCs4ddg}|D]"}ttjjt|}|j|q dS)Nz test/test*.pyz setup.cfg)filterrrisfilerrextend)r optionalpatternfilesrrrrLsz)sdist_add_defaults._add_defaults_optionalcCs\|d}|jr$|j||jD],\}}}}|D]}|jtj ||q:q*dS)Nbuild_py) get_finalized_commandrhas_pure_modulesrr&get_source_files data_filesr rrr")r r*pkgsrc_dir build_dir filenamesrrrrrRs   z'sdist_add_defaults._add_defaults_pythoncCsz|jrv|jjD]b}t|trBt|}tj|rt|j |q|\}}|D]$}t|}tj|rN|j |qNqdS)N) rhas_data_filesr.rstrrrrr%rr )r itemdirnamer2frrrr bs     z+sdist_add_defaults._add_defaults_data_filescCs(|jr$|d}|j|dS)N build_ext)rhas_ext_modulesr+rr&r-)r r8rrrr ss  z$sdist_add_defaults._add_defaults_extcCs(|jr$|d}|j|dS)N build_clib)rhas_c_librariesr+rr&r-)r r:rrrr xs  z'sdist_add_defaults._add_defaults_c_libscCs(|jr$|d}|j|dS)N build_scripts)r has_scriptsr+rr&r-)r r<rrrr }s  z(sdist_add_defaults._add_defaults_scriptsN)__name__ __module__ __qualname____doc__r staticmethodrrrrr r r r rrrrrs rrc@s eZdZdS)rN)r>r?r@rrrrrs)rrdistutils.utilrdistutils.commandrrhasattrrrrrs    |