File: //usr/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc
a
?�f� � @ s d Z ddlmZ ddlZddlmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
mZ dd lmZ dd
lmZ ddlmZ er�ddlmZ dd
lmZmZ ddl
mZ e
r�ddlmZ nddlmZ dZe�e�Z G dd� de�Z!dd� Z"dd� Z#dd� Z$dd� Z%dd� Z&dd� Z'd d!� Z(dS )"z0Support functions for working with wheel files.
� )�absolute_importN)�Parser)�ZipFile)�canonicalize_name)�DistInfoDistribution)�PY2�
ensure_str)�UnsupportedWheel)�DictMetadata)�MYPY_CHECK_RUNNING)�Message)�Dict�Tuple)�Distribution)�
BadZipfile)�
BadZipFile)� r c s, e Zd ZdZ� fdd�Z� fdd�Z� ZS )�
WheelMetadatazaMetadata provider that maps metadata decoding exceptions to our
internal exception type.
c s t t| ��|� || _d S )N)�superr �__init__�_wheel_name)�self�metadataZ
wheel_name�� __class__� �=/usr/lib/python3.9/site-packages/pip/_internal/utils/wheel.pyr ( s zWheelMetadata.__init__c
sN zt t| ��|�W S tyH } ztd�| j|���W Y d }~n
d }~0 0 d S )Nz"Error decoding metadata for {}: {})r r �get_metadata�UnicodeDecodeErrorr �formatr )r �name�er r r r - s ��zWheelMetadata.get_metadata)�__name__�
__module__�__qualname__�__doc__r r �
__classcell__r r r r r $ s r c s� t | |�\� }� fdd�| �� D �}i }|D ]h}t|�}|�dd�\}}zt| |�||<