o ai @ sL d Z ddlZddlmZ ddlmZ ddlmZmZ ddl m Z mZ ddlm Z ddlmZmZ dd lmZ dd lmZ dZeeZG dd d eZdedededefddZdededeeef fddZdededefddZdededefddZdededefddZ dedee!d f fd!d"Z"d#ee!d f deddfd$d%Z#dS )&z0Support functions for working with wheel files. N)Message)Parser)DictTuple) BadZipFileZipFile)canonicalize_name)DistInfoDistributionDistribution)UnsupportedWheel)DictMetadata) r c sL e Zd ZdZdeeef deddf fddZdedef fd d Z Z S ) WheelMetadatazaMetadata provider that maps metadata decoding exceptions to our internal exception type. metadata wheel_namereturnNc s t | || _d S )N)super__init___wheel_name)selfr r __class__ /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/utils/wheel.pyr s zWheelMetadata.__init__namec s> zt |W S ty } ztd| j d| d }~ww )NzError decoding metadata for : )r get_metadataUnicodeDecodeErrorr r )r r er r r r s zWheelMetadata.get_metadata) __name__ __module____qualname____doc__r strbytesr r __classcell__r r r r r s "r wheel_zipr locationr c s t | |\ } fdd| D }i }|D ])}|dd\}}z t| |||<