Your IP : 216.73.216.213
B
N�X� � @ sr d dl mZmZmZ d dlZd dlZd dlmZmZm Z m
Z
d dlmZmZm
Z
mZmZ d dlmZ d dlmZ ddlmZmZ dd lmZmZmZ G d
d� de�Zeejej �Z ed��!� Z"ed
��!� Z#ed��!� Z$ed��!� Z%ed��!� Z&ed��!� Z'ed��!� Z(ed�Z)e ee)�e B Z*ee ee*� �Z+e+d�Z,e+Z-ed�d�Z.e(e. Z/e-ee&e- � Z0e"e
e0� e# d�Z1eej2ej3ej4B �Z5eej2ej3ej4B �Z6e5e6A Z7ee7ee&e7 � ddd�d�Z8e
e$e8 e% e8B �Z9e9�:dd� � e e9�d�Z;e;�:dd� � e e� �d�Ze�:d d� � e'Z<e<e Z=e;e
e=� Z>e/e
e=� Z?e,e
e1� e?e>B Z@ee@ e ZAG d!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 @ s e Zd ZdZdS )�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� r r �G/opt/alt/python37/lib/python3.7/site-packages/packaging/requirements.pyr s r �[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)�
joinString�adjacent� _raw_specc C s
|j pdS )N� )r) )�s�l�tr r r �<lambda>6 � r. � specifierc C s |d S )Nr r )r+ r, r- r r r r. 9 r/ �markerc C s t | |j|j� �S )N)r �_original_start�
_original_end)r+ r, r- r r r r. = r/ c @ s( e Zd ZdZdd� 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
C s� yt �|�}W n@ tk
rN } z"td�||j|jd � ���W d d }~X Y nX |j| _|jr�t�|j�}|j r�|j
r�|j s�|j
s�td��|j| _nd | _t|jr�|j�
� ng �| _t|j�| _|jr�|jnd | _d S )Nz+Invalid requirement, parse error at "{0!r}"� zInvalid URL given)�REQUIREMENT�parseStringr r �format�locr$ r% �urlparse�scheme�netloc�setr&