403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/site-packages/setuptools/command/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc
a

��e;�@s�ddlmZddlmZddlmZddlmmZddl	Z	ddl
Z
ddlZddlZ
ddlZddlZddlmZddlmZmZmZmZmZmZddlmZdd	lmZd
Zdd�ZGd
d�dej�Zdd�ZGdd�d�Z dS)�)�partial)�glob)�convert_pathN)�Path)�Dict�Iterable�Iterator�List�Optional�Tuple�)�unique_everseen)�SetuptoolsDeprecationWarning)z*.pyizpy.typedcCst�|t�|�jtjB�dS�N)�os�chmod�stat�st_mode�S_IWRITE)�target�r�?/usr/lib/python3.9/site-packages/setuptools/command/build_py.py�
make_writablesrcsBeZdZUdZdZeed<dZee	ed<dd�Z
d6�fd	d
�	Zdd�Zd
d�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd7ee	d��fdd�
Zee	e	fd�dd�Zeee	e	fd�dd�Zeee	e	fd�d d!�Zd"d#�Zd$d%�Zee	e	ee	d&�d'd(�Zd)d*�Zd+d,�Z d-d.�Z!d/d0�Z"d1d2�Z#e$d8d4d5��Z%�Z&S)9�build_pyaXEnhanced 'build_py' command that includes data files with packages

    The data files are specified via a 'package_data' argument to 'setup()'.
    See 'setuptools.dist.Distribution' for more details.

    Also, this version of the 'build_py' command allows you to specify both
    'py_modules' and 'packages' in the same setup operation.
    F�
editable_modeN�existing_egg_info_dircCs@tj�|�|jj|_|jjp i|_d|jvr6|jd=g|_dS)N�
data_files)�origr�finalize_options�distribution�package_data�exclude_package_data�__dict__�_build_py__updated_files��selfrrrr&s

zbuild_py.finalize_options�cs:|r$tt|����}tt|����}t��||||||�Sr)�strr�resolve�super�	copy_file)r%Zinfile�outfileZ
preserve_modeZpreserve_times�link�level��	__class__rrr*.s�zbuild_py.copy_filecCsT|js|jr|jrdS|jr$|��|jr:|��|��|�tjj	|dd��dS)z?Build modules, packages, and copy data files to build directoryNr)�include_bytecode)
Z
py_modules�packagesrZ
build_modulesZbuild_packages�build_package_dataZbyte_compilerr�get_outputsr$rrr�run9szbuild_py.runcCs&|dkr|��|_|jStj�||�S)zlazily compute data filesr)�_get_data_filesrrr�__getattr__)r%�attrrrrr6Is
zbuild_py.__getattr__cCs.tj�||||�\}}|r&|j�|�||fSr)rr�build_moduler#�append)r%�module�module_file�packager+Zcopiedrrrr8Pszbuild_py.build_modulecCs|��tt|j|jpd��S)z?Generate list of '(package,src_dir,build_dir,filenames)' tuplesr)�analyze_manifest�list�map�_get_pkg_data_filesr1r$rrrr5Vszbuild_py._get_data_filescCs$|j�di�tt|j|jpd��S)z�
        Generate list of ``(package,src_dir,build_dir,filenames)`` tuples,
        but without triggering any attempt to analyze or build the manifest.
        �manifest_filesr)r"�
setdefaultr>r?r@r1r$rrr�get_data_files_without_manifest[sz(build_py.get_data_files_without_manifestcsJ|�|��tjj|jg|�d��}�fdd�|�|��D�}|�||fS)N�.csg|]}tj�|���qSr)r�path�relpath)�.0�file��src_dirrr�
<listcomp>ms�z0build_py._get_pkg_data_files.<locals>.<listcomp>)�get_package_dirrrE�join�	build_lib�split�find_data_files)r%r<�	build_dir�	filenamesrrIrr@es


�zbuild_py._get_pkg_data_filescCsd|j|j||td�}tttdd�|�}tj�|�}t	t
jj|�}t�|j
�|g�|�}|�|||�S)z6Return filenames for package's data files in 'src_dir')�extra_patternsT)�	recursive)�_get_platform_patternsr �_IMPLICIT_DATA_FILESr?rr�	itertools�chain�
from_iterable�filterrrE�isfilerA�get�exclude_data_files)r%r<rJ�patternsZglobs_expandedZ
globs_matchesZ
glob_files�filesrrrrPss��zbuild_py.find_data_files)�returncs"|jrt|�����St��|�S)�1See :class:`setuptools.commands.build.SubCommand`)rr>�get_output_mapping�keysr)r3)r%r0r.rrr3�szbuild_py.get_outputscCs(t�|��|���}tt|dd�d��S)racSs|dS)Nrr)�xrrr�<lambda>��z-build_py.get_output_mapping.<locals>.<lambda>)�key)rWrX� _get_package_data_output_mapping�_get_module_mapping�dict�sorted)r%�mappingrrrrb�s
�zbuild_py.get_output_mappingccs<|��D].\}}}|�d�}|�|j||�}||fVqdS)z5Iterate over all modules producing (dest, src) pairs.rDN)Zfind_all_modulesrOZget_module_outfilerN)r%r<r:r;�filenamerrrri�s
zbuild_py._get_module_mappingccsH|jD]<\}}}}|D]*}tj�||�}tj�||�}||fVqqdS)z6Iterate over package data producing (dest, src) pairs.N)rrrErM)r%r<rJrQrRrmr�srcfilerrrrh�s
z)build_py._get_package_data_output_mappingcCs@|��D]2\}}|�tj�|��|�||�\}}t|�qdS)z$Copy data files into build directoryN)rhZmkpathrrE�dirnamer*r)r%rrnZ_outfZ_copiedrrrr2�szbuild_py.build_package_datacCsji|_}|jjsdSi}|jp"dD]}||t|�|��<q$t|dd�rzt|jd��	�rz|j}t|d�}|j
dd���}n"|�d�|�
d�}|j}|jj}t�}|�||�D]�}	tj�t|	��\}
}d}|}
|
�r|
|k�r|
|v�r|
}tj�|
�\}
}tj�||�}q�|
|vr�||
k�r.|�|��rNq�n |�||
|�}|�rN|�|�|�||
g��|	�q�dS)NrrzSOURCES.txtzutf-8)�encoding�egg_info)rArZinclude_package_datar1�assert_relativerL�getattrrr�exists�	read_text�
splitlinesZrun_command�get_finalized_commandrqZfilelistr_�_IncludePackageDataAbuse�_filter_build_filesrrErOrM�	is_module�importable_subpackage�warnrBr9)r%ZmfZsrc_dirsr<Zegg_info_dirZmanifestr_Zei_cmd�checkrE�d�f�prevZoldfZdf�
importablerrrr=�sD

��




zbuild_py.analyze_manifest)r_rqr`c#sl|�d�}||j|j|jf}dd�|D�}|D]8}tj�|��tj�|�r`t�fdd�|D��r.|Vq.dS)a}
        ``build_meta`` may try to create egg_info outside of the project directory,
        and this can be problematic for certain plugins (reported in issue #3500).

        Extensions might also include between their sources files created on the
        ``build_lib`` and ``build_temp`` directories.

        This function should filter this case of invalid files out.
        �buildcSsg|]}|rtj�|��qSr)rrE�normpath)rG�prrrrK�rfz0build_py._filter_build_files.<locals>.<listcomp>c3s|]}|�vVqdSrr)rGr~�Z	norm_pathrr�	<genexpr>�rfz/build_py._filter_build_files.<locals>.<genexpr>N)	rwrNZ
build_tempZ
build_baserrEr��isabs�all)r%r_rqr�Z
build_dirsZ	norm_dirsrHrr�rry�s

"zbuild_py._filter_build_filescCsdSrrr$rrr�get_data_files�szbuild_py.get_data_filescCs�z|j|WStyYn0tj�|||�}||j|<|rF|jjsJ|S|jjD]}||ksl|�|d�rRqvqR|St|d��}|�	�}Wd�n1s�0Yd|vr�t
j�d|f��|S)z8Check namespace packages' __init__ for declare_namespacerD�rbNsdeclare_namespacez�Namespace package problem: %s is a namespace package, but its
__init__.py does not call declare_namespace()! Please fix it.
(See the setuptools manual under "Namespace Packages" for details.)
")
�packages_checked�KeyErrorrr�
check_packagerZnamespace_packages�
startswith�open�read�	distutils�errorsZDistutilsError)r%r<Zpackage_dirZinit_py�pkgr�contentsrrrr��s*
&��zbuild_py.check_packagecCs"i|_tj�|�d|_d|_dS)NF)r�rr�initialize_optionsrrr$rrrr�szbuild_py.initialize_optionscCs0tj�||�}|jjdur,tj�|jj|�S|Sr)rrrLrZsrc_rootrrErM)r%r<�resrrrrLszbuild_py.get_package_dircs\t���|�|j||�}�fdd�|D�}tj�|�}t|���fdd��D�}tt|��S)z6Filter filenames for package's data files in 'src_dir'c3s|]}t��|�VqdSr)�fnmatchrZ�rG�pattern)r_rrr�rfz.build_py.exclude_data_files.<locals>.<genexpr>c3s|]}|�vr|VqdSrr)rG�fn)�badrrr�rf)r>rUr!rWrXrY�setr
)r%r<rJr_r^Zmatch_groups�matchesZkeepersr)r�r_rr]s�zbuild_py.exclude_data_filesrcs0t�||�dg�|�|g��}�fdd�|D�S)z�
        yield platform-specific path patterns (suitable for glob
        or fn_match) from a glob-based spec (such as
        self.package_data or self.exclude_package_data)
        matching package in src_dir.
        �c3s |]}tj��t|��VqdSr)rrErMrr�rIrrr�/s�z2build_py._get_platform_patterns.<locals>.<genexpr>)rWrXr\)�specr<rJrSZraw_patternsrrIrrU"s

�
�zbuild_py._get_platform_patterns)r&r&Nr&)r&)r)'�__name__�
__module__�__qualname__�__doc__r�bool�__annotations__rr
r'rr*r4r6r8r5rCr@rPr	r3rrbrrrirhr2r=rryr�r�r�rLr]�staticmethodrU�
__classcell__rrr.rrs6
		�
)rcCs:tj�|�s|Sddlm}t�d���|}||��dS)Nr)�DistutilsSetupErrorz�
        Error: setup script specifies an absolute path:

            %s

        setup() arguments must *always* be /-separated paths relative to the
        setup.py directory, *never* absolute paths.
        )rrEr��distutils.errorsr��textwrap�dedent�lstrip)rEr��msgrrrrr6s�
��
rrc@s@eZdZdZGdd�de�Zdd�Zdd�Zdd	�Zd
d�Z	dS)
rxz>Inform users that package or module is included as 'data file'c@seZdZdZdZdS)z!_IncludePackageDataAbuse._WarningzU
        Package {importable!r} is absent from the `packages` configuration.
        a|
        ############################
        # Package would be ignored #
        ############################
        Python recognizes {importable!r} as an importable package[^1],
        but it is absent from setuptools' `packages` configuration.

        This leads to an ambiguous overall configuration. If you want to distribute this
        package, please make sure that {importable!r} is explicitly added
        to the `packages` configuration field.

        Alternatively, you can also rely on setuptools' discovery methods
        (for example by using `find_namespace_packages(...)`/`find_namespace:`
        instead of `find_packages(...)`/`find:`).

        You can read more about "package discovery" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

        If you don't want {importable!r} to be distributed and are
        already explicitly excluding {importable!r} via
        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
        you can try to use `exclude_package_data`, or `include-package-data=False` in
        combination with a more fine grained `package-data` configuration.

        You can read more about "package data files" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


        [^1]: For Python, any directory (with suitable naming) can be imported,
              even if it does not contain any `.py` files.
              On the other hand, currently there is no concept of package data
              directory, all directories are treated like packages.
        N)r�r�r�Z_SUMMARYZ_DETAILSrrrr�_WarningNsr�cCst�|_dSr)r��_already_warnedr$rrr�__init__ysz!_IncludePackageDataAbuse.__init__cCs |�d�o|dtd����S)Nz.py)�endswith�len�isidentifier)r%rHrrrrz|sz"_IncludePackageDataAbuse.is_modulecCs6t|�j}tt�tj|j��}|r2d�|g|��SdS)NrD)	r�parentr>rW�	takewhiler'r��partsrM)r%r�rHr�r�rrrr{s

z._IncludePackageDataAbuse.importable_subpackagecCs(||jvr$|jj|d�|j�|�dS)N)r�)r�r��emit�add)r%r�rrrr|�s
z_IncludePackageDataAbuse.warnN)
r�r�r�r�rr�r�rzr{r|rrrrrxKs+rx)!�	functoolsrrZdistutils.utilrZdistutils.command.build_pyZcommandrrrr�r�r�r�rWr�pathlibr�typingrrrr	r
rZextern.more_itertoolsr
�warningsrrVrrrrxrrrr�<module>s( 

Youez - 2016 - github.com/yon3zu
LinuXploit