Your IP : 216.73.216.213


Current Path : /opt/alt/python311/lib/python3.11/site-packages/wheel/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib/python3.11/site-packages/wheel/__pycache__/wheelfile.cpython-311.opt-1.pyc

�

��a�����ddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZ
ddlmZmZmZddlmZddlmZmZmZmZmZmZejdej��Zdd	�ZGd
�de��ZdS)
�)�print_functionN)�OrderedDict)�log)�ZIP_DEFLATED�ZipInfo�ZipFile)�
WheelError)�urlsafe_b64decode�
as_unicode�native�urlsafe_b64encode�as_bytes�StringIOzt^(?P<namever>(?P<name>.+?)-(?P<ver>.+?))(-(?P<build>\d[^-]*))?
     -(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?)\.whl$c��ttj�d|pt	j������}t	j|��dd�S)N�SOURCE_DATE_EPOCHr�)�int�os�environ�get�time�gmtime)�	timestamps �B/opt/alt/python311/lib/python3.11/site-packages/wheel/wheelfile.py�get_zipinfo_datetimersF���B�J�N�N�#6�	�8P�T�Y�[�[�Q�Q�R�R�I��;�y�!�!�!�A�#�&�&�c�P�eZdZdZejZdefd�Zd
d�Z	d�Z
dd�Zdd�Zd	�Z
dS)
�	WheelFilez�A ZipFile derivative class that also reads SHA-256 hashes from
    .dist-info/RECORD and checks any read files against those.
    �rc�(�tj�|��}t�|��|_|�d��r|j�"td�|�����tj
||||d���d�|j�d����|_|jdz|_
t��|_i|_|dk�r�d	|j|j
<d	|j|j
d
z<d	|j|j
dz<	|�|j
��}n5#t$$r(td�|j
�����wxYw|5|D]�}|�d
��}|�dd��\}}}	|r�|�d��\}
}	t-j|
��n0#t0$r#td�|
�����wxYw|
���dvr"td�|
�����|
t5|�d����f|j|<��	ddd��dS#1swxYwYdSdS)Nz.whlzBad wheel filename {!r}T)�compression�
allowZip64z{}.dist-info�nameverz/RECORDr�NNz.jwsz.p7szMissing {} filezutf-8�,��=zUnsupported hash algorithm: {}>�md5�sha1z4Weak hash algorithm ({}) is not permitted by PEP 427�ascii)r�path�basename�
WHEEL_INFO_RE�match�parsed_filename�endswithr	�formatr�__init__�group�dist_info_path�record_pathr�_file_hashes�_file_sizes�open�KeyError�decode�rsplit�split�hashlib�new�
ValueError�lowerr
�encode)�self�file�moder!r,�record�liner+�hash_sum�size�	algorithms           rr2zWheelFile.__init__&s���7�#�#�D�)�)��,�2�2�8�<�<���� � ��(�(�	I�D�,@�,H��6�=�=�h�G�G�H�H�H����t�T�{�t�T�T�T�T�,�3�3�D�4H�4N�4N�y�4Y�4Y�Z�Z����.��:���'�M�M�������3�;�;�2<�D��d�.�/�;E�D��d�.��7�8�;E�D��d�.��7�8�
M����4�#3�4�4�����
M�
M�
M� �!2�!9�!9�$�:J�!K�!K�L�L�L�
M�����
T�
T�"�T�T�D��;�;�w�/�/�D�+/�;�;�t�Q�+?�+?�(�D�(�D��
T�.6�n�n�T�.B�.B�+�	�8�a�#�K�	�2�2�2�2��)�a�a�a�",�-M�-T�-T�U^�-_�-_�"`�"`�`�a����%�?�?�,�,��?�?�",� V�!'��	�!2�!2�#4�#4�4�
&�'8�����9Q�9Q�'R�'R�3T��)�$�/��T�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T����
T�
T�
T�
T�
T�
T��;s8�,E�2E9�>AJ�
G"�!J�"-H�A(J�J	�J	Nc������	�
�d����	�
fd�	}tt|t��r|jn|���|dkrM��d��s8�|jvr/t
d�t��������tj
||||���|dkrJ��d��s5|j�\}���#tj|���	�j
|c�
�_
�S)Nc�
��|��j}�|��n�||����|��|rG�����kr1td�t��������dSdS)NzHash mismatch for file '{}')�_eof�update�digestr	r1r)�newdata�eof�ef�ef_name�
expected_hash�running_hash�update_crc_origs  �����r�_update_crcz#WheelFile.open.<locals>._update_crcRs�����{��g�����(�(�(�(�����-�-�-�����(�(�(��
X�|�*�*�,�,�
�=�=� �!>�!E�!E�f�W�o�o�!V�!V�W�W�W�
X�
X�=�=rr�/zNo hash found for file '{}'�N)r�
isinstancer�filenamer0r6r	r1rrr8r=r>rV)rB�name_or_inforD�pwdrVrIrQrRrSrTrUs      @@@@@rr8zWheelFile.openQs'�������		X�		X�		X�		X�		X�		X�		X�		X�		X�		X��j��w�6W�6W�/�\�2�2�".�0�0���3�;�;�w�/�/��4�4�;���HY�9Y�9Y��:�A�A�&��/�/�R�R�S�S�S�
�\�$��d�C�
8�
8���3�;�;�w�/�/��4�4�;�'+�'8��'A�$�I�}��(�&�{�9�5�5��24�.�+�/�����	rc��tjd|j|��g}tj|��D�]\}}}|���t
|��D]�}tj�tj�	||����}tj�
|��r�tj�||���tjj
d��}||jkr��|�d��r|�||f����|�||�����|���|D]\}}|�||���dS)Nz#creating '%s' and adding '%s' to itrWz
.dist-info)�logger�inforZr�walk�sort�sortedr+�normpath�join�isfile�relpath�replace�sepr5r0�append�write)	rB�base_dir�deferred�root�dirnames�	filenames�namer+�arcnames	         r�write_fileszWheelFile.write_fileslsd����9�4�=�(�S�S�S���)+���):�):�
	2�
	2�%�D�(�I�
�M�M�O�O�O��y�)�)�	
2�	
2���w�'�'�����T�4�(@�(@�A�A���7�>�>�$�'�'�2� �g�o�o�d�H�=�=�E�E�b�g�k�SV�W�W�G��$�"2�2�2�����|�4�4�2� ����w��8�8�8�8��
�
�4��1�1�1��	
2�	�
�
����%�	&�	&�M�D�'��J�J�t�W�%�%�%�%�	&�	&rc���t|d��5}tj|�����}|���}ddd��n#1swxYwYt|p|t
|j�����}tj	|j
��tj|j
��zdz|_|p|j
|_|�|||��dS)N�rb��	date_time�)r8r�fstat�fileno�readrr�st_mtime�stat�S_IMODE�st_mode�S_IFMT�
external_attrr!�
compress_type�writestr)rBrZrqr��f�st�data�zinfos        rrjzWheelFile.write�s��
�(�D�
!�
!�	�Q���!�(�(�*�*�%�%�B��6�6�8�8�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���+�8�7K�B�K�7X�7X�Y�Y�Y��#�|�B�J�7�7�$�+�b�j�:Q�:Q�Q�VX�X���+�?�t�/?����
�
�e�T�=�1�1�1�1�1s�;A�A�Ac��tj||||��t|t��r|jn|}tjd|��||jkrk|�|��}|j	tt|�������f|j
|<t|��|j|<dSdS)Nzadding '%s')rr�rYrrZr^r_r5�_default_algorithmrprr
rNr6�lenr7)rB�zinfo_or_arcname�bytesr��fname�hash_s      rr�zWheelFile.writestr�s������/��
�F�F�F�.8�9I�7�.S�.S�'�!�*�*�&�	���M�5�)�)�)��D�$�$�$��+�+�E�2�2�E�',�z�6�:K�E�L�L�N�N�:[�:[�3\�3\�'\�D��e�$�&)�%�j�j�D��U�#�#�#�%�$rc�d���j���jdk�r�jr�t��}t	j|ddd���}|��fd��j���D����|�t�j
��ddf��tt�j
��t�����}�j|_d	|_��|t%|�������t)j���dS)
N�wr%�"�
)�	delimiter�	quotechar�lineterminatorc3�P�K�|] \}\}}||dz|z�j|fV��!dS)r'N)r7)�.0r�rIr�rBs    �r�	<genexpr>z"WheelFile.close.<locals>.<genexpr>�s^�������.�E�-�I�u�	���O�e�+��$�U�+�������r�rui�)�fprDr6r�csv�writer�	writerows�items�writerowr1r5rrrr!r�r�r�r�getvaluer�close)rBr�r�r�s`   rr�zWheelFile.close�s'����7��4�9��#3�#3��8I�#3��:�:�D��Z���s�SW�X�X�X�F��������26�1B�1H�1H�1J�1J�
���
�
�
�
�O�O�V�D�$4�5�5�r�2�>�?�?�?��F�4�#3�4�4�@T�@V�@V�W�W�W�E�"&�"2�E��"-�E���M�M�%��$�-�-�/�/�!:�!:�;�;�;��
�d�����r)rNr$rX)�__name__�
__module__�__qualname__�__doc__r=�sha256r�rr2r8rrrjr�r��rrrrs���������!���"%�<�)T�)T�)T�)T�V����6&�&�&�,2�2�2�2�1�1�1�1�����rrrX) �
__future__rr�r=�os.pathr�rer|r�collectionsr�	distutilsrr^�zipfilerrr�	wheel.clir	�
wheel.utilr
rrr
rr�compile�VERBOSEr-rrr�rr�<module>r�sB��%�%�%�%�%�%�
�
�
�
���������	�	�	�	���������#�#�#�#�#�#�#�#�#�#�#�#�2�2�2�2�2�2�2�2�2�2� � � � � � �c�c�c�c�c�c�c�c�c�c�c�c�c�c�c�c���
�9��J���
�'�'�'�'�J�J�J�J�J��J�J�J�J�Jr