HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/site-packages/setuptools/__pycache__/wheel.cpython-37.pyc
B

N��g�!�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlZddlm
ZddlmZddlmZddlmZmZddlmZe�d	ej�jZd
Zejdd�dd
��Zdd�Zej dd��Z!Gdd�d�Z"dS)zWheels support.�N)�get_platform)�Version)�sys_tags)�canonicalize_name)�write_requirements�
_egg_basename)�_unpack_zipfile_objz�^(?P<project_name>.+?)-(?P<version>\d.*?)
    ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
    )\.whl$z8__import__('pkg_resources').declare_namespace(__name__)
)�maxsizecCsdd�t�D�S)NcSsh|]}|j|j|jf�qS�)�interpreter�abi�platform)�.0�tr
r
�4/tmp/pip-unpacked-wheel-yrlplx0q/setuptools/wheel.py�	<setcomp>%sz&_get_supported_tags.<locals>.<setcomp>)rr
r
r
r�_get_supported_tags srcCs�x�t�|�D]�\}}}tj�||�}x6|D].}tj�||�}tj�|||�}t�||�q*WxXttt|���D]D\}	}
tj�||
�}tj�|||
�}tj�	|�snt�||�||	=qnWqWx.tj|dd�D]\}}}|r�t
�t�|�q�WdS)zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)�topdownN)�os�walk�path�relpath�join�renames�reversed�list�	enumerate�exists�AssertionError�rmdir)�src_dirZdst_dir�dirpath�dirnames�	filenames�subdir�f�src�dst�n�dr
r
r�unpack(s
r*c	cs4ddlm}|�|j�}z
dVWd|�|�XdS)z*
    Temporarily disable info traces.
    r)�logN)�	distutilsr+�
set_threshold�WARN)r+Zsavedr
r
r�disable_info_traces>s

r/c@sheZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
dd��Ze
dd��Ze
dd��Z
dS)�WheelcCsTttj�|��}|dkr$td|��||_x$|����D]\}}t|||�q8WdS)Nzinvalid wheel name: %r)	�
WHEEL_NAMErr�basename�
ValueError�filename�	groupdict�items�setattr)�selfr4�match�k�vr
r
r�__init__MszWheel.__init__cCs&t�|j�d�|j�d�|j�d��S)z>List tags (py_version, abi, platform) supported by this wheel.�.)�	itertools�product�
py_version�splitrr
)r8r
r
r�tagsUs

z
Wheel.tagscCstdd�|��D�d�S)z2Is the wheel compatible with the current platform?css|]}|t�krdVqdS)TN)r)rrr
r
r�	<genexpr>_sz&Wheel.is_compatible.<locals>.<genexpr>F)�nextrB)r8r
r
r�
is_compatible]szWheel.is_compatiblecCs&t|j|j|jdkrdnt�d�dS)N�any)r
z.egg)r�project_name�versionr
r)r8r
r
r�egg_nameas
zWheel.egg_namecCsJx<|��D]0}t�|�}|�d�r
t|��t|j��r
|Sq
Wtd��dS)Nz
.dist-infoz.unsupported wheel format. .dist-info not found)�namelist�	posixpath�dirname�endswithr�
startswithrGr3)r8�zf�memberrLr
r
r�
get_dist_infohs

zWheel.get_dist_infoc	Cs(t�|j��}|�||�WdQRXdS)z"Install wheel as an egg directory.N)�zipfile�ZipFiler4�_install_as_egg)r8�destination_eggdirrOr
r
r�install_as_eggrszWheel.install_as_eggcCs\d|j|jf}|�|�}d|}tj�|d�}|�||||�|�||�|�||�dS)Nz%s-%sz%s.datazEGG-INFO)	rGrHrQrrr�_convert_metadata�_move_data_entries�_fix_namespace_packages)r8rUrOZ
dist_basename�	dist_info�	dist_data�egg_infor
r
rrTws
zWheel._install_as_eggc	s2ddl}��fdd�}|d�}t|�d��}td�|koFtd�kn}|s\td|��t�|�tj�|���|jj	|�|�
|��d	��d
d��tt���
�������fdd
��jD�}	t��|�t�tj�|d�tj�|d��tjt�|	d�d�}
t��"t|
�d�dtj�|d��WdQRXdS)Nrc	s<��t��|��� }|���d�}tj���|�SQRXdS)Nzutf-8)	�openrKr�read�decode�email�parser�Parser�parsestr)�name�fp�value)rZrOr
r�get_metadata�sz-Wheel._convert_metadata.<locals>.get_metadataZWHEELz
Wheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)�metadatacSsd|_t|�S)N)�marker�str)�reqr
r
r�raw_req�sz(Wheel._convert_metadata.<locals>.raw_reqcs.i|]&}�fdd�t���|f��D�|�qS)csg|]}|�kr|�qSr
r
)rrk)�install_requiresr
r�
<listcomp>�sz6Wheel._convert_metadata.<locals>.<dictcomp>.<listcomp>)�map�requires)r�extra)�distrmrlr
r�
<dictcomp>�sz+Wheel._convert_metadata.<locals>.<dictcomp>�METADATAzPKG-INFO)rm�extras_require)�attrsr\zrequires.txt)�
pkg_resources�
parse_version�getr3rrrr�Distribution�
from_location�PathMetadatarrorp�extras�rename�
setuptools�dictr/r�get_command_obj)rOrUrZr\rwrg�wheel_metadata�
wheel_versionZwheel_v1ruZ
setup_distr
)rrrZrmrlrOrrW�s< 


zWheel._convert_metadatacs�tj�|���tj��d�}tj�|�r�tj�|dd�}t�|�xRt�|�D]D}|�d�rrt�tj�||��qNt�tj�||�tj�||��qNWt�	|�x.t
tjj�fdd�dD��D]}t||�q�Wtj���r�t�	��dS)z,Move data entries to their correct location.�scriptszEGG-INFOz.pycc3s|]}tj��|�VqdS)N)rrr)rr))r[r
rrC�sz+Wheel._move_data_entries.<locals>.<genexpr>)�data�headers�purelib�platlibN)rrrr�mkdir�listdirrM�unlinkr~r�filterr*)rUr[Zdist_data_scriptsZegg_info_scripts�entryr$r
)r[rrX�s&





zWheel._move_data_entriesc
Cs�tj�|d�}tj�|�r�t|��}|����}WdQRXxt|D]l}tjj|f|�d���}tj�|d�}tj�|�s�t�|�tj�|�s@t|d��}|�t	�WdQRXq@WdS)Nznamespace_packages.txtr=z__init__.py�w)
rrrrr]r^rAr��write�NAMESPACE_PACKAGE_INIT)r\rUZnamespace_packagesre�modZmod_dirZmod_initr
r
rrY�s


zWheel._fix_namespace_packagesN)�__name__�
__module__�__qualname__r<rBrErIrQrVrT�staticmethodrWrXrYr
r
r
rr0Ks

<r0)#�__doc__r`r>�	functoolsrrK�rerR�
contextlib�distutils.utilrrZ#setuptools.extern.packaging.versionrrxZ setuptools.extern.packaging.tagsrZ!setuptools.extern.packaging.utilsrZsetuptools.command.egg_inforrZsetuptools.archive_utilr�compile�VERBOSEr9r1r��	lru_cacherr*�contextmanagerr/r0r
r
r
r�<module>s.