Current File : //usr/lib/python3/dist-packages/wheel/vendored/packaging/__pycache__/requirements.cpython-312.pyc |
�
C�e� � � � d dl mZmZmZmZ ddlmZ ddlm Z ddl
mZmZ ddl
mZ ddlmZ G d� d e� Z G d
� d� Zy)
� )�Any�Iterator�Optional�Set� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec � � e Zd ZdZy)�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� � �G/usr/lib/python3/dist-packages/wheel/vendored/packaging/requirements.pyr r s � �r r c �j � e Zd ZdZdeddfd�Zdedee fd�Zdefd�Zdefd �Z de
fd
�Zdede
fd�Zy)
�Requirementz�Parse a requirement.
Parse a given requirement string into its parts, such as name, specifier,
URL, and extras. Raises InvalidRequirement on a badly-formed requirement
string.
�requirement_string�returnNc �� � t |� }|j | _ |j
xs d | _ t
|j r|j ng � | _ t |j � | _ d | _
|j �Ct j t � | _
t |j � | j _ y y # t $ r}t t |� � |�d }~ww xY w�N)�_parse_requirementr r �str�name�url�set�extrasr � specifier�markerr
�__new__r �_markers)�selfr �parsed�es r �__init__zRequirement.__init__! s� � � 4�'�(:�;�F� ���� �"(�*�*�"4���� #�V�]�]�F�M�M�� K���'3�F�4D�4D�'E���(,����=�=�$� �.�.��0�D�K�#:�6�=�=�#I�D�K�K� � %�� !� 4�$�S��V�,�!�3�� 4�s �C � C/�C*�*C/r c # �` K � |�� | j r,dj t | j � � }d|� d��� | j rt | j � �� | j
r!d| j
� ��� | j rd�� | j rd| j � ��� y y �w)N�,�[�]z@ � z; )r"