File: //proc/self/root/usr/local/lib/python3.10/dist-packages/wheel/__pycache__/wheelfile.cpython-310.pyc
o
��h� � @ s d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl m
Z
mZ d dlm
Z
mZmZ d dlmZmZmZ d dlmZ d dlmZmZmZ erod dlmZmZmZ d d lmZ eeej e f Z!G d
d� deee�Z"e�#dej$�Z%d
Z&dddd�Z'G dd� 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 e Zd ZdS )�SizedBufferN)�__name__�
__module__�__qualname__� r r �:/usr/local/lib/python3.10/dist-packages/wheel/wheelfile.pyr s r z�^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]+?))(-(?P<build>\d[^\s-]*))?
-(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>\S+)\.whl$i ��� timestamp�float | Nonec C s6 t tj�d| p
t�� ��} t| t�} t�| �dd� S )N�SOURCE_DATE_EPOCHr � )�int�os�environ�get�time�max�MINIMUM_TIMESTAMP�gmtime)r r r r �get_zipinfo_datetime$ s
r% c @ sf e Zd ZdZejZdefd(d d
�Z d)d*dd�Z d+dd�Z
d,d-dd �Z d.d/d$d%�Zd&d'� Z
dS )0� WheelFilez�A ZipFile derivative class that also reads SHA-256 hashes from
.dist-info/RECORD and checks any read files against those.
�r�file�StrPath�mode�Literal['r', 'w', 'x', 'a']�compressionr c
C s� t j�|�}t�|�| _|�d�r| jd u rtd|����tj | |||dd� d�
| j�d��| _| jd | _
i | _i | _|dkr�d | j| j
<