Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
keewenaw
GitHub Repository: keewenaw/ethereum-wallet-cracker
Path: blob/main/test/lib/python3.9/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc
4799 views
a

���bo �@s�dZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlm
Z
ddlmZddlmZddlmZdd	lmZe	�d
e	j�jZdZdd
�ZGdd�d�ZdS)zWheels support.�)�get_platform)�logN)�
parse_version)�sys_tags)�canonicalize_name)�write_requirements)�_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__)
cCs�t�|�D]�\}}}tj�||�}|D].}tj�||�}tj�|||�}t�||�q&ttt|���D]D\}	}
tj�||
�}tj�|||
�}tj�	|�sft�||�||	=qfq
tj|dd�D]\}}}|r�J�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�rmdir)�src_dirZdst_dir�dirpath�dirnames�	filenames�subdir�f�src�dst�n�d�r�d/Users/keewenaw/Desktop/ethereum-wallet-cracker/test/lib/python3.9/site-packages/setuptools/wheel.py�unpacks
r!c@sheZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
dd��Ze
dd��Ze
dd��Z
dS)�WheelcCsPttj�|��}|dur$td|��||_|����D]\}}t|||�q6dS)Nzinvalid wheel name: %r)	�
WHEEL_NAMEr
r�basename�
ValueError�filename�	groupdict�items�setattr)�selfr&�match�k�vrrr �__init__7s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*rrr �tags?s



�z
Wheel.tagscs0tdd�t�D���t�fdd�|��D�d�S)z5Is the wheel is compatible with the current platform?css|]}|j|j|jfVqdS�N)�interpreterr4r5��.0�trrr �	<genexpr>Isz&Wheel.is_compatible.<locals>.<genexpr>c3s|]}|�vrdVqdS)TNrr:��supported_tagsrr r=K�F)�setr�nextr7r6rr>r �
is_compatibleGs�zWheel.is_compatiblecCs,tj|j|j|jdkrdnt�d���dS)N�any)�project_name�versionr5z.egg)�
pkg_resources�DistributionrErFr5r�egg_namer6rrr rIMs��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�memberrLrrr �
get_dist_infoSs

��
zWheel.get_dist_infocCs<t�|j��}|�||�Wd�n1s.0YdS)z"Install wheel as an egg directory.N)�zipfile�ZipFiler&�_install_as_egg)r*�destination_eggdirrOrrr �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_inforrr rTbs
zWheel._install_as_eggc	sH��fdd�}|d�}t|�d��}td�|ko>td�kn}|sTtd|��t�|�tj�|���tjj	|�t�
|��d��d	d
��tt���
�������fdd��jD�}t��|�t�tj�|d
�tj�|d��tjt�|d�d�}	tjj}
t�tj�z*t|	�d�dtj�|d��Wt�|
�nt�|
�0dS)NcsT��t��|���.}|���d�}tj���|�Wd�S1sF0YdS)Nzutf-8)	�openrKr�read�decode�email�parser�Parser�parsestr)�name�fp�value)r[rOrr �get_metadatansz-Wheel._convert_metadata.<locals>.get_metadataZWHEELz
Wheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)�metadatacSsd|_t|�Sr8)�marker�str)�reqrrr �raw_req�sz(Wheel._convert_metadata.<locals>.raw_reqc	s.i|]&}|�fdd�t���|f��D��qS)csg|]}|�vr|�qSrr)r;rl)�install_requiresrr �
<listcomp>�s�z6Wheel._convert_metadata.<locals>.<dictcomp>.<listcomp>)�map�requires)r;�extra)�distrnrmrr �
<dictcomp>�s��z+Wheel._convert_metadata.<locals>.<dictcomp>�METADATAzPKG-INFO)rn�extras_require)�attrsr]zrequires.txt)r�getr%rr
rrrGrH�
from_location�PathMetadatarrprq�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 rXlsP��

������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��|�VqdSr8)r
rr)r;r�r\rr r=�s�z+Wheel._move_data_entries.<locals>.<genexpr>)�data�headers�purelib�platlibN)r
rrr�mkdir�listdirrM�unlinkr|r�filterr!)rUr\Zdist_data_scriptsZegg_info_scripts�entryrrr�r rY�s*�

�
�zWheel._move_data_entriesc	Cs�tj�|d�}tj�|�r�t|��}|����}Wd�n1sD0Y|D]�}tjj|g|�d��R�}tj�|d�}tj�|�s�t�|�tj�|�sRt|d��}|�t	�Wd�qR1s�0YqRdS)Nznamespace_packages.txtr/z__init__.py�w)
r
rrrr^r_r3r��write�NAMESPACE_PACKAGE_INIT)r]rU�namespace_packagesrf�modZmod_dirZmod_initrrr rZ�s�
*
zWheel._fix_namespace_packagesN)�__name__�
__module__�__qualname__r.r7rCrIrQrVrT�staticmethodrXrYrZrrrr r"5s


>
r")�__doc__�distutils.utilr�	distutilsrrar0r
rK�rerRrGr}rZ setuptools.extern.packaging.tagsrZ!setuptools.extern.packaging.utilsrZsetuptools.command.egg_inforZsetuptools.archive_utilr�compile�VERBOSEr+r#r�r!r"rrrr �<module>s.��