HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/site-packages/pip/_internal/models/__pycache__/wheel.cpython-37.pyc
B

L��g�@sJdZddlZddlmZmZmZddlmZddlm	Z	Gdd�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�eZdZdZe�dej�Zedd�dd�Z	e
ed�dd	�Ze
ee
d
�dd�Ze
eeee
fe
d
�dd�Zeeed
�dd�ZdS)�WheelzA wheel filez�^(?P<namever>(?P<name>[^\s-]+?)-(?P<ver>[^\s-]*?))
        ((-(?P<build>\d[^-]*?))?-(?P<pyver>[^\s-]+?)-(?P<abi>[^\s-]+?)-(?P<plat>[^\s-]+?)
        \.whl|\.dist-info)$N)�filename�returncs��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�_�-�ver�build�pyver�.�abi�platcs0h|](}�jD]}�jD]}t|||��qqqS�)�abis�platsr)�.0�x�y�z)�selfr�>/tmp/pip-unpacked-wheel-hv55ucu3/pip/_internal/models/wheel.py�	<setcomp>(sz!Wheel.__init__.<locals>.<setcomp>N)�
wheel_file_re�matchrr�group�replacer
�version�	build_tag�split�
pyversionsrr�	file_tags)rr�
wheel_infor)rr�__init__s
zWheel.__init__)r	cCstdd�|jD��S)z4Return the wheel's tags as a sorted list of strings.css|]}t|�VqdS)N)�str)r�tagrrr�	<genexpr>.sz0Wheel.get_formatted_file_tags.<locals>.<genexpr>)�sortedr%)rrrr�get_formatted_file_tags,szWheel.get_formatted_file_tags)�tagsr	cs:yt�fdd�t|�D��Stk
r4t��YnXdS)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.
        c3s |]\}}|�jkr|VqdS)N)r%)r�i�t)rrrr*>sz*Wheel.support_index_min.<locals>.<genexpr>N)�next�	enumerate�
StopIteration�
ValueError)rr-r)rr�support_index_min0s
zWheel.support_index_min)r-�tag_to_priorityr	cst�fdd�|jD��S)a�Return the priority of the most preferred tag that one of the wheel's file
        tag combinations achieves in the given list of supported tags using the given
        tag_to_priority mapping, where lower priorities are more-preferred.

        This is used in place of support_index_min in some cases in order to avoid
        an expensive linear scan of a large list of tags.

        :param tags: the PEP 425 tags to check the wheel against.
        :param tag_to_priority: a mapping from tag to priority of that tag, where
            lower is more preferred.

        :raises ValueError: If none of the wheel's file tags match one of
            the supported tags.
        c3s|]}|�kr�|VqdS)Nr)rr))r5rrr*Tsz0Wheel.find_most_preferred_tag.<locals>.<genexpr>)�minr%)rr-r5r)r5r�find_most_preferred_tagBszWheel.find_most_preferred_tagcCs|j�|�S)z�Return whether the wheel is compatible with one of the given tags.

        :param tags: the PEP 425 tags to check the wheel against.
        )r%�
isdisjoint)rr-rrr�	supportedWszWheel.supported)�__name__�
__module__�__qualname__�__doc__�re�compile�VERBOSErr(r'rr,r�intr4rr7r�boolr9rrrrrsr)r=r>�typingrrr�pip._vendor.packaging.tagsr�pip._internal.exceptionsrrrrrr�<module>s