관리-도구
편집 파일: wheel.cpython-39.pyc
a [��f� � @ sJ d Z ddlZddlmZmZmZ ddlmZ ddlm Z G dd� d�Z dS )z`Represents a wheel file and provides access to the various parts of the name that have meaning. � N)�Dict�Iterable�List)�Tag)�InvalidWheelFilenamec @ s� e Zd ZdZe�dej�Zedd�dd�Z e e d�dd �Ze e e d �dd�Ze e eee f e d �dd�Zee ed �dd�ZdS )�WheelzA wheel filez�^(?P<namever>(?P<name>.+?)-(?P<ver>.*?)) ((-(?P<build>\d[^-]*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?) \.whl|\.dist-info)$N)�filename�returnc s� � j �|�}|st|� d���|� _|�d��dd�� _|�d��dd�� _|�d�� _|�d�� d�� _ |�d �� d�� _|�d �� d�� _� fdd�� j D �� _ d S )zX :raises InvalidWheelFilename: when the filename is invalid for a wheel z is not a valid wheel filename.�name�_�-ZverZbuildZpyver�.ZabiZplatc s0 h | ](}� j D ]}� jD ]}t|||��qqqS � )�abis�platsr )�.0�x�y�z��selfr �>/usr/lib/python3.9/site-packages/pip/_internal/models/wheel.py� <setcomp>( s z!Wheel.__init__.<locals>.<setcomp>N)� wheel_file_re�matchr r �group�replacer �versionZ build_tag�splitZ pyversionsr r � file_tags)r r Z wheel_infor r r �__init__ s �zWheel.__init__)r c C s t dd� | jD ��S )z4Return the wheel's tags as a sorted list of strings.c s s | ]}t |�V qd S �N)�str�r �tagr r r � <genexpr>. � z0Wheel.get_formatted_file_tags.<locals>.<genexpr>)�sortedr r r r r �get_formatted_file_tags, s zWheel.get_formatted_file_tags)�tagsr c s t � fdd�| jD ��S )a� Return the lowest index that one of the wheel's file_tag combinations achieves in the given list of supported tags. For example, if there are 8 supported tags and one of the file tags is first in the list, then return 0. :param tags: the PEP 425 tags to check the wheel against, in order with most preferred first. :raises ValueError: If none of the wheel's file tags match one of the supported tags. c 3 s | ]}|� v r� � |�V qd S r! )�indexr# �r) r r r% = r&