????

Your IP : 18.119.172.175


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

3

U('d��@srddlmZmZmZddlZddlZddlmZmZm	Z	m
Z
ddlmZmZm
Z
mZmZddlmZddlmZddlmZmZdd	lmZmZmZGd
d�de�Zeejej�Z ed�j!�Z"ed
�j!�Z#ed�j!�Z$ed�j!�Z%ed�j!�Z&ed�j!�Z'ed�j!�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�Z9e9j:dd��e	e9�d�Z;e;j:dd��e	e��d�Zej: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�"/usr/lib/python3.6/requirements.pyrsr�[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)Z
joinStringZadjacent�	_raw_speccCs
|jpdS)N�)r')�s�l�trrr�<lambda>6sr,�	specifiercCs|dS)Nrr)r)r*r+rrrr,9s�markercCst||j|j��S)N)rZ_original_startZ
_original_end)r)r*r+rrrr,=sc@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.
    cCs�ytj|�}Wn@tk
rN}z$tdj||j|jd����WYdd}~XnX|j|_|jr�tj|j�}|j	ot|j
s�|j	r�|j
r�td��|j|_nd|_t|jr�|jj
�ng�|_t|j�|_|jr�|jnd|_dS)Nz+Invalid requirement, parse error at "{0!r}"�zInvalid URL given)�REQUIREMENTZparseStringrr�format�locr$r%�urlparse�schemeZnetloc�setr&ZasListrr-r.)�selfZrequirement_stringZreq�eZ
parsed_urlrrr�__init__Xs"*
zRequirement.__init__cCsz|jg}|jr*|jdjdjt|j����|jr@|jt|j��|jrX|jdj|j��|j	rp|jdj|j	��dj|�S)Nz[{0}]r!z@ {0}z; {0}r()
r$r&�appendr2�join�sortedr-�strr%r.)r7�partsrrr�__str__mszRequirement.__str__cCsdjt|��S)Nz<Requirement({0!r})>)r2r=)r7rrr�__repr__~szRequirement.__repr__N)rrrrr9r?r@rrrrr/Ksr/)DZ
__future__rrr�string�reZsetuptools.extern.pyparsingrrrrr	r
rrr
r�LZ"setuptools.extern.six.moves.urllibrr4ZmarkersrrZ
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_REQUIREMENTr1�objectr/rrrr�<module>sZ