Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/site-packages/wheel/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/site-packages/wheel/__pycache__/wheelfile.cpython-38.pyc
U

H��g� �@sddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
mZddlm
Z
mZmZddlmZmZmZddlmZddlmZmZmZer�ddlmZmZmZdd	lmZeeej efZ!Gd
d�deee�Z"e�#dej$�Z%d
Z&ddd�dd�Z'Gdd�de�Z(dS)�)�annotationsN)�StringIO�
TextIOWrapper)�IO�
TYPE_CHECKING�Literal)�ZIP_DEFLATED�ZipFile�ZipInfo)�
WheelError)�log�urlsafe_b64decode�urlsafe_b64encode)�Protocol�Sized�Union)�Bufferc@seZdZdS)�SizedBufferN)�__name__�
__module__�__qualname__�rr�</opt/cppython/lib/python3.8/site-packages/wheel/wheelfile.pyrsrz�^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]+?))(-(?P<build>\d[^\s-]*))?
     -(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>\S+)\.whl$i��zfloat | None��	timestampcCs6ttj�d|pt����}t|t�}t�|�dd�S)N�SOURCE_DATE_EPOCHr�)�int�os�environ�get�time�max�MINIMUM_TIMESTAMP�gmtimerrrr�get_zipinfo_datetime$s
r%c@s�eZdZdZejZdefdddd�dd�Zd!d
ddd
d�dd�Z	dd�dd�Z
d"ddddd�dd�Zd#d
ddd�dd�Zdd �Z
d	S)$�	WheelFilez�A ZipFile derivative class that also reads SHA-256 hashes from
    .dist-info/RECORD and checks any read files against those.
    �r�StrPathzLiteral[('r', 'w', 'x', 'a')]r)�file�mode�compressionc
Cs�tj�|�}t�|�|_|�d�r,|jdkr:td|����tj	||||dd�d�
|j�d��|_|jd|_
i|_i|_|dk�r�d	|j|j
<d	|j|j
d
<d	|j|j
d<z|�|j
�}Wn(tk
r�td|j
�d
��d�YnX|��t�t|ddd��D]�}|\}}}	|�s�q|�d�\}
}zt�|
�Wn&tk
�r^td|
���d�YnX|
��dk�r~td|
�d���|
t|�d��f|j|<�qW5QRXdS)Nz.whlzBad wheel filename T)r+�
allowZip64z{}.dist-infoZnameverz/RECORDr')NNz.jwsz.p7szMissing z file��utf-8)�newline�encoding�=zUnsupported hash algorithm: >�sha1�md5zWeak hash algorithm (z) is not permitted by PEP 427�ascii)r�path�basename�
WHEEL_INFO_RE�matchZparsed_filename�endswithrr	�__init__�format�groupZdist_info_path�record_path�_file_hashes�_file_sizes�open�KeyError�csv�readerr�split�hashlib�new�
ValueError�lowerr
�encode)�selfr)r*r+r6�record�liner5Zhash_sum�size�	algorithmrrrr:3sT
�
�
��
��zWheelFile.__init__Nz
str | ZipInfozLiteral[('r', 'w')]zbytes | Nonez	IO[bytes])�name_or_infor*�pwd�returncs�ddd������fdd�}t|t�r,|jn|�|dkr\��d�s\�|jkr\td��d	���t�||||��|dkr���d�s�|j�\}��dk	r�t�	|���j
|��_
�S)
N�bytes�None)�newdatarQcs<�j}�|���|�|r8����kr8td��d���dS)NzHash mismatch for file '�')�_eof�update�digestr)rT�eof�ZefZef_nameZ
expected_hashZrunning_hashZupdate_crc_origrr�_update_crcss

z#WheelFile.open.<locals>._update_crcr'�/zNo hash found for file 'rU)�
isinstancer
�filenamer9r>rr	r@rErFr[)rJrOr*rPr[rNrrZrr@ms"����
zWheelFile.open�str)�base_dirc	Cs�t�d|j�d|�d��g}t�|�D]�\}}}|��t|�D]r}tj�tj�	||��}tj�
|�rBtj�||��tjj
d�}||jkr�qB|�d�r�|�||f�qB|�||�qBq(|��|D]\}}|�||�q�dS)Nz
creating 'z' and adding 'z' to itr\z
.dist-info)r�infor^r�walk�sort�sortedr5�normpath�join�isfile�relpath�replace�sepr=r9�append�write)	rJr`�deferred�root�dirnames�	filenames�namer5�arcnamerrr�write_files�s 

zWheelFile.write_filesz
str | Nonez
int | NonerS)r^rr�
compress_typerQc	Cs~t|d��}t�|���}|��}W5QRXt|p4|t|j�d�}t�	|j
�t�|j
�Bd>|_|ph|j
|_|�|||�dS)N�rb��	date_time�)r@r�fstat�fileno�readr
r%�st_mtime�stat�S_IMODE�st_mode�S_IFMT�
external_attrr+rt�writestr)rJr^rrrt�f�st�data�zinforrrrl�s�zWheelFile.writezSizedBuffer | str)�zinfo_or_arcnamer�rtcCs�t|t�r0t|t�d�}|j|_dtjBd>|_t|t�rD|�	d�}t
�||||�t|t�rd|jn|}t
�d|�d��||jkr�|�|�}|jt|����d�f|j|<t|�|j|<dS)Nrvi�rxr.zadding 'rUr4)r]r_r
r%r+rtr}�S_IFREGr�rIr	r�r^rrar=�_default_algorithmrqrrX�decoder>�lenr?)rJr�r�rt�fname�hash_rrrr��s*
�

��

�
zWheelFile.writestrcs��jdk	rx�jdkrx�jrxt�}tj|dddd�}|��fdd��j��D��|�t	�j
�ddf����j
|���t
���dS)	N�w�,�"�
)�	delimiter�	quotechar�lineterminatorc3s.|]&\}\}}||d|�j|fVqdS)r1N)r?)�.0r�rNr��rJrr�	<genexpr>�s
�z"WheelFile.close.<locals>.<genexpr>r-)�fpr*r>rrB�writer�	writerows�items�writerowr;r=r��getvaluer	�close)rJr�r�rr�rr��s
��zWheelFile.close)r'N)NN)N)rrr�__doc__rE�sha256r�rr:r@rsrlr�r�rrrrr&,s�=�"��r&)N))�
__future__rrBrE�os.pathr�rer}r!�iorr�typingrrr�zipfilerr	r
Z	wheel.clirZ
wheel.utilrr
rrrr�typing_extensionsrr_�PathLiker(r�compile�VERBOSEr7r#r%r&rrrr�<module>s.�

F1le Man4ger