HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc
U

�i�_� �@s�dZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlm
Z
ddlmZddlmZddlmZdd	lmZeZe	�d
e	j�jZdZdd
�ZGdd�d�ZdS)zWheels support.�)�get_platform)�logN)�
parse_version)�sys_tags)�canonicalize_name)�PY3)�write_requirementsz�^(?P<project_name>.+?)-(?P<version>\d.*?)
    ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
    )\.whl$z8__import__('pkg_resources').declare_namespace(__name__)
cCs�t�|�D]�\}}}tj�||�}|D].}tj�||�}tj�|||�}t�||�q&ttt|���D]D\}	}
tj�||
�}tj�|||
�}tj�	|�sft�||�||	=qfq
tj|dd�D]\}}}|r�t
�t�|�q�dS)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�d�r �4/tmp/pip-unpacked-wheel-tlqm5ymo/setuptools/wheel.py�unpack"s
r"c@sheZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
dd��Ze
dd��Ze
dd��Z
dS)�WheelcCsPttj�|��}|dkr$td|��||_|����D]\}}t|||�q6dS)Nzinvalid wheel name: %r)	�
WHEEL_NAMEr
r�basename�
ValueError�filename�	groupdict�items�setattr)�selfr'�match�k�vr r r!�__init__:s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�split�abi�platform�r+r r r!�tagsBs



�z
Wheel.tagscs0tdd�t�D���t�fdd�|��D�d�S)z5Is the wheel is compatible with the current platform?css|]}|j|j|jfVqdS�N)�interpreterr5r6��.0�tr r r!�	<genexpr>Lsz&Wheel.is_compatible.<locals>.<genexpr>c3s|]}|�krdVqdS)TNr r;��supported_tagsr r!r>NsF)�setr�nextr8r7r r?r!�
is_compatibleJs�zWheel.is_compatiblecCs,tj|j|j|jdkrdnt�d���dS)N�any)�project_name�versionr6z.egg)�
pkg_resources�DistributionrErFr6r�egg_namer7r r r!rIPs��zWheel.egg_namecCsJ|��D]4}t�|�}|�d�rt|��t|j��r|Sqtd��dS)Nz
.dist-infoz.unsupported wheel format. .dist-info not found)�namelist�	posixpath�dirname�endswithr�
startswithrEr&)r+�zf�memberrLr r r!�
get_dist_infoVs

��
zWheel.get_dist_infoc	Cs(t�|j��}|�||�W5QRXdS)z"Install wheel as an egg directory.N)�zipfile�ZipFiler'�_install_as_egg)r+�destination_eggdirrOr r r!�install_as_egg`szWheel.install_as_eggcCs\d|j|jf}|�|�}d|}tj�|d�}|�||||�|�||�|�||�dS)Nz%s-%sz%s.data�EGG-INFO)	rErFrQr
rr�_convert_metadata�_move_data_entries�_fix_namespace_packages)r+rUrOZ
dist_basename�	dist_info�	dist_data�egg_infor r r!rTes
zWheel._install_as_eggc	sL��fdd�}|d�}t|�d��}td�|ko>td�kn}|sTtd|��t�|���|�tj�|���tj	j
|�t�|��d��d	d
��tt
t�����������fdd��jD�}t��|�t�tj�|d
�tj�|d��tj	t�|d�d�}	tjj}
t�tj�z t|	�d�dtj�|d��W5t�|
�XdS)Nc
sT��t��|���8}tr&|���d�n|��}tj���	|�W5QR�SQRXdS)Nzutf-8)
�openrKrr�read�decode�email�parser�Parser�parsestr)�name�fp�value)r[rOr r!�get_metadataqsz-Wheel._convert_metadata.<locals>.get_metadataZWHEELz
Wheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)�metadatacSsd|_t|�Sr9)�marker�str)�reqr r r!�raw_req�sz(Wheel._convert_metadata.<locals>.raw_reqc
s2i|]*}|t�fdd�t���|f��D���qS)c3s|]}|�kr|VqdSr9r )r<rl)�install_requiresr r!r>�s�z5Wheel._convert_metadata.<locals>.<dictcomp>.<genexpr>)�sorted�map�requires)r<�extra)�distrnrmr r!�
<dictcomp>�s
��z+Wheel._convert_metadata.<locals>.<dictcomp>�METADATAzPKG-INFO)rn�extras_require)�attrsr]zrequires.txt)r�getr&r
�mkdir�
extractallrrrGrH�
from_location�PathMetadatarrorprq�extras�rename�
setuptools�dictr�_global_log�	threshold�
set_threshold�WARNr�get_command_obj)rOrUr[r]rh�wheel_metadata�
wheel_versionZwheel_v1rvZ
setup_distZ
log_thresholdr )rsr[rnrmrOr!rXosT��


������zWheel._convert_metadatacs�tj�|���tj��d�}tj�|�r�tj�|dd�}t�|�t�|�D]D}|�d�rpt�tj�||��qLt�tj�||�tj�||��qLt�	|�t
tjj�fdd�dD��D]}t||�q�tj���r�t�	��dS)z,Move data entries to their correct location.�scriptsrWz.pycc3s|]}tj��|�VqdSr9)r
rr)r<r�r\r r!r>�s�z+Wheel._move_data_entries.<locals>.<genexpr>)�data�headers�purelib�platlibN)r
rrrry�listdirrM�unlinkr~r�filterr")rUr\Zdist_data_scriptsZegg_info_scripts�entryrr r�r!rY�s.�

�
�zWheel._move_data_entriesc
Cs�tj�|d�}tj�|�r�t|��}|����}W5QRX|D]l}tjj|f|�d���}tj�|d�}tj�|�s~t�|�tj�|�s>t|d��}|�t	�W5QRXq>dS)Nznamespace_packages.txtr0z__init__.py�w)
r
rrrr^r_r4ry�write�NAMESPACE_PACKAGE_INIT)r]rUZnamespace_packagesrf�modZmod_dirZmod_initr r r!rZ�s�

zWheel._fix_namespace_packagesN)�__name__�
__module__�__qualname__r/r8rCrIrQrVrT�staticmethodrXrYrZr r r r!r#8s


?
r#)�__doc__�distutils.utilr�	distutilsrrar1r
rK�rerRrGrrZ setuptools.extern.packaging.tagsrZ!setuptools.extern.packaging.utilsrZsetuptools.extern.sixrZsetuptools.command.egg_infor�type�
__metaclass__�compile�VERBOSEr,r$r�r"r#r r r r!�<module>s0��