????

Your IP : 18.119.172.175


Current Path : /lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/
Upload File :
Current File : //lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc

U

�Qab��@srddlmZmZmZddlZddlZddlmZmZm	Z	m
Z
ddlmZmZm
Z
mZmZddlmZddlmZddlmZmZdd	lmZmZmZGd
d�de�Zeejej�Z ed��!�Z"ed
��!�Z#ed��!�Z$ed��!�Z%ed��!�Z&ed��!�Z'ed��!�Z(ed�Z)e ee)�e BZ*ee ee*��Z+e+d�Z,e+Z-ed�d�Z.e(e.Z/e-ee&e-�Z0e"e
e0�e#d�Z1eej2ej3ej4B�Z5eej2ej3ej4B�Z6e5e6AZ7ee7ee&e7�ddd�d�Z8e
e$e8e%e8B�Z9e9�:dd��e	e9�d�Z;e;�:dd��e	e��d�Ze�:d d��e'Z<e<eZ=e;e
e=�Z>e/e
e=�Z?e,e
e1�e?e>BZ@ee@eZAGd!d"�d"eB�ZCdS)#�)�absolute_import�division�print_functionN)�stringStart�	stringEnd�originalTextFor�ParseException)�
ZeroOrMore�Word�Optional�Regex�Combine)�Literal)�parse�)�MARKER_EXPR�Marker)�LegacySpecifier�	Specifier�SpecifierSetc@seZdZdZdS)�InvalidRequirementzJ
    An invalid requirement was found, users should refer to PEP 508.
    N)�__name__�
__module__�__qualname__�__doc__�rr�M/usr/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.pyrsr�[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)Z
joinStringZadjacent�	_raw_speccCs
|jpdS)N�)r'��s�l�trrr�<lambda>6�r-�	specifiercCs|dS)Nrrr)rrrr-9r.�markercCst||j|j��S)N)rZ_original_startZ
_original_endr)rrrr-=r.c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�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.
    c
Cs�zt�|�}Wn@tk
rN}z"td�||j|jd����W5d}~XYnX|j|_|jr�t�|j�}|j	r�|j
r�|j	s�|j
s�td��|j|_nd|_t|jr�|j�
�ng�|_t|j�|_|jr�|jnd|_dS)Nz+Invalid requirement, parse error at "{0!r}"�zInvalid URL given)�REQUIREMENTZparseStringrr�formatZlocr$r%�urlparseZschemeZnetloc�setr&ZasListrr/r0)�selfZrequirement_stringZreq�eZ
parsed_urlrrr�__init__Xs,����
zRequirement.__init__cCsz|jg}|jr*|�d�d�t|j����|jr@|�t|j��|jrX|�d�|j��|j	rp|�d�|j	��d�|�S)Nz[{0}]r!z@ {0}z; {0}r()
r$r&�appendr4�join�sortedr/�strr%r0)r7�partsrrr�__str__mszRequirement.__str__cCsd�t|��S)Nz<Requirement({0!r})>)r4r=)r7rrr�__repr__~szRequirement.__repr__N)rrrrr9r?r@rrrrr1Ksr1)DZ
__future__rrr�string�reZsetuptools.extern.pyparsingrrrrr	r
rrr
r�LZ"setuptools.extern.six.moves.urllibrr5ZmarkersrrZ
specifiersrrr�
ValueErrorrZ
ascii_lettersZdigitsZALPHANUM�suppressZLBRACKETZRBRACKETZLPARENZRPAREN�COMMAZ	SEMICOLON�ATZPUNCTUATIONZIDENTIFIER_ENDZ
IDENTIFIER�NAMEZEXTRAZURIZURLZEXTRAS_LISTZEXTRASZ
_regex_str�VERBOSE�
IGNORECASEZVERSION_PEP440ZVERSION_LEGACYZVERSION_ONEZVERSION_MANYZ
_VERSION_SPECZsetParseActionZVERSION_SPECZMARKER_SEPERATORZMARKERZVERSION_AND_MARKERZURL_AND_MARKERZNAMED_REQUIREMENTr3�objectr1rrrr�<module>sf����