Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/packaging/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/packaging/__pycache__/requirements.cpython-35.pyc



N�X��@sbddlmZmZmZddlZddlZddlmZmZm	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�dddd�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�G/opt/alt/python35/lib/python3.5/site-packages/packaging/requirements.pyrsr�[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extras�
joinString�adjacentF�	_raw_speccCs
|jpdS)N�)r))�s�l�trrr�<lambda>6sr.�	specifiercCs|dS)Nrr)r+r,r-rrrr.9s�markercCst||j|j��S)N)r�_original_start�
_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|�}WnNtk
rc}z.tdj||j|jd����WYdd}~XnX|j|_|jr�tj|j�}|j	o�|j
s�|j	r�|j
r�td��|j|_n	d|_t|jr�|jj
�ng�|_t|j�|_|jr!|jnd|_dS)Nz+Invalid requirement, parse error at "{0!r}"�zInvalid URL given)�REQUIREMENT�parseStringrr�format�locr$r%�urlparse�scheme�netloc�setr&�asListrr/r0)�self�requirement_string�req�e�
parsed_urlrrr�__init__Xs"3		'zRequirement.__init__cCs�|jg}|jr=|jdjdjt|j����|jr\|jt|j��|jr~|jdj|j��|j	r�|jdj|j	��dj|�S)Nz[{0}]r!z@ {0}z; {0}r*)
r$r&�appendr7�join�sortedr/�strr%r0)r>�partsrrr�__str__ms	(			zRequirement.__str__cCsdjt|��S)Nz<Requirement({0!r})>)r7rG)r>rrr�__repr__~szRequirement.__repr__N)rrrrrCrIrJrrrrr3Ksr3)D�
__future__rrr�string�re�	pyparsingrrrrr	r
rrr
r�LZsix.moves.urllibrr9�markersrr�
specifiersrrr�
ValueErrorr�
ascii_letters�digits�ALPHANUM�suppress�LBRACKET�RBRACKET�LPAREN�RPAREN�COMMA�	SEMICOLON�AT�PUNCTUATION�IDENTIFIER_END�
IDENTIFIER�NAME�EXTRA�URI�URL�EXTRAS_LIST�EXTRAS�
_regex_str�VERBOSE�
IGNORECASE�VERSION_PEP440�VERSION_LEGACY�VERSION_ONE�VERSION_MANY�
_VERSION_SPEC�setParseAction�VERSION_SPEC�MARKER_SEPERATOR�MARKER�VERSION_AND_MARKER�URL_AND_MARKER�NAMED_REQUIREMENTr5�objectr3rrrr�<module>sZ"(