Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc
Ðазад
a "�h� � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z m Z ddlmZ ddl mZ d Ze�e�Ze eeeef d �dd�Ze eed �dd�Ze eed�dd�Ze eed�dd�Zeeedf d�dd�Zeedf edd�dd�ZdS )z/Support functions for working with wheel files.� N)�Message)�Parser)�Tuple)� BadZipFile�ZipFile)�canonicalize_name)�UnsupportedWheel)� r )� wheel_zip�name�returnc C sj z t | |�}t| |�}t|�}W n6 tyV } zt|� d|� ���W Y d}~n d}~0 0 t||� ||fS )z�Extract information from the provided wheel, ensuring it meets basic standards. Returns the name of the .dist-info directory and the parsed WHEEL metadata. z has an invalid wheel, N)�wheel_dist_info_dir�wheel_metadata� wheel_versionr �check_compatibility)r r �info_dir�metadata�version�e� r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/pip/_internal/utils/wheel.py�parse_wheel s ( r )�sourcer r c C s� dd� | � � D �}dd� |D �}|s,td��t|�dkrLtd�d�|����|d }t|�}t|�}|�|�s�td |�d|����|S )z�Returns the name of the contained .dist-info directory. Raises AssertionError or UnsupportedWheel if not found, >1 found, or it doesn't match the provided name. c S s h | ]}|� d d�d �qS )�/r r )�split)�.0�pr r r � <setcomp>, � z&wheel_dist_info_dir.<locals>.<setcomp>c S s g | ]}|� d �r|�qS )z .dist-info)�endswith)r �sr r r � <listcomp>. r z'wheel_dist_info_dir.<locals>.<listcomp>z.dist-info directory not foundr z)multiple .dist-info directories found: {}z, r z.dist-info directory z does not start with )�namelistr �len�format�joinr � startswith)r r �subdirs� info_dirsr � info_dir_name�canonical_namer r r r % s � �r )r �pathr c C sP z| � |�W S tttfyJ } z td|�d|����W Y d }~n d }~0 0 d S )Nzcould not read z file: )�readr �KeyError�RuntimeErrorr )r r+ r r r r �read_wheel_metadata_fileD s r/ )r � dist_info_dirr c C sf |� d�}t | |�}z|�� }W n8 tyX } z td|�d|����W Y d}~n d}~0 0 t� �|�S )ziReturn the WHEEL metadata of an extracted wheel, if possible. Otherwise, raise UnsupportedWheel. z/WHEELzerror decoding z: N)r/ �decode�UnicodeDecodeErrorr r �parsestr)r r0 r+ �wheel_contents� wheel_textr r r r r M s *r .)� wheel_datar c C s\ | d }|du rt d��|�� }zttt|�d���W S tyV t d|����Y n0 dS )zbGiven WHEEL metadata, return the parsed Wheel-Version. Otherwise, raise UnsupportedWheel. z Wheel-VersionNzWHEEL is missing Wheel-Version�.zinvalid Wheel-Version: )r �strip�tuple�map�intr � ValueError)r6 �version_textr r r r r ` s r )r r r c C sR | d t d kr.td�|d�tt| �����n | t krNt�dd�tt| ��� dS )a� Raises errors or warns if called with an incompatible Wheel-Version. pip should refuse to install a Wheel-Version that's a major series ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when installing a version only minor version ahead (e.g 1.2 > 1.1). version: a 2-tuple representing a Wheel-Version (Major, Minor) name: name of wheel or package to raise exception about :raises UnsupportedWheel: when an incompatible Wheel-Version is given r zB{}'s Wheel-Version ({}) is not compatible with this version of pipr7 z*Installing from a newer Wheel-Version (%s)N)�VERSION_COMPATIBLEr r$ r% r: �str�logger�warning)r r r r r r p s ���r )�__doc__�logging� email.messager �email.parserr �typingr �zipfiler r Zpip._vendor.packaging.utilsr �pip._internal.exceptionsr r>