Current File : //lib/python3.9/site-packages/packaging/__pycache__/requirements.cpython-39.opt-1.pyc |
a
?&Nb� � @ s� d dl mZmZmZ d dlZd dlZd dlZd dlmZm Z
mZmZm
Z
mZmZmZmZmZ ddlmZ ddlmZmZ ddlmZmZmZ ejd dkr�d d lmZ nd dlZer�d d
l m!Z!mZ"m#Z# G dd� de$�Z%eej&ej' �Z(e
d
��)� Z*e
d��)� Z+e
d��)� Z,e
d��)� Z-e
d��)� Z.e
d��)� Z/e
d��)� Z0ed�Z1e(ee1�e( B Z2ee(ee2� �Z3e3d�Z4e3Z5e
d�d�Z6e0e6 Z7e5ee.e5 � Z8e*ee8� e+ d�Z9e
ej:ej;ej<B �Z=e
ej:ej;ej<B �Z>e=e>A Z?ee?ee.e? � ddd�d�Z@ee,e@ e- e@B �ZAeA�Bdd� � eeA�d�ZCeC�Bdd� � ee� �d �Ze�Bd!d� � e/ZDeDe ZEeCeeE� ZFe7eeE� ZGe4ee9� eGeFB ZHeeH e ZIeI�Jd"� G d#d$� d$eK�ZLdS )%� )�absolute_import�division�print_functionN)
�Combine�Literal�Optional�ParseException�Regex�Word�
ZeroOrMore�originalTextFor� stringEnd�stringStart� )�
TYPE_CHECKING)�MARKER_EXPR�Marker)�LegacySpecifier� Specifier�SpecifierSet� )�parse)�Listr �Setc @ s e Zd ZdZdS )�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� r r �:/usr/lib/python3.9/site-packages/packaging/requirements.pyr % s r �[�]�(�)�,�;�@z-_.�namez[^ ]+�url�extrasF)Z
joinStringZadjacent� _raw_specc C s
|j pdS )N� )r+ ��s�l�tr r r �<lambda>J � r1 � specifierc C s |d S )Nr r r- r r r r1 M r2 �markerc C s t | |j|j� �S )N)r Z_original_startZ
_original_endr- r r r r1 Q r2 zx[]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 zt �|�}W nF tyT } z.td�||j|jd � |j���W Y d }~n
d }~0 0 |j| _|jr�t � |j�}|j
dkr�t �|�|jkr�td��n(|j
r�|jr�|j
s�|js�td�|j���|j| _nd | _t
|jr�|j�� ng �| _t|j�| _|jr�|jnd | _d S )NzParse error at "{0!r}": {1}� �filezInvalid URL givenzInvalid URL: {0})�REQUIREMENT�parseStringr r �format�loc�msgr( r) �urlparse�scheme�
urlunparse�netloc�setr* ZasListr r3 r4 )�selfZrequirement_stringZreq�eZ
parsed_urlr r r �__init__n s2 ��
��
zRequirement.__init__c C s� | j g}| jr*|�d�d�t| j���� | jr@|�t| j�� | jrh|�d�| j�� | j rh|�d� | j r�|�d�| j �� d�|�S )Nz[{0}]r% z@ {0}� z; {0}r, )
r( r* �appendr: �join�sortedr3 �strr) r4 )rB �partsr r r �__str__� s
zRequirement.__str__c C s d� t| ��S )Nz<Requirement({0!r})>)r: rI )rB r r r �__repr__� s zRequirement.__repr__N)r r r r rD rK rL r r r r r5 a s r5 )MZ
__future__r r r �re�string�sysZ pyparsingr r �Lr r r r
r r r
r Z_typingr Zmarkersr r Z
specifiersr r r �version_infoZurllibr r= �typingr Z TOptionalr �
ValueErrorr �
ascii_letters�digitsZALPHANUM�suppressZLBRACKETZRBRACKETZLPARENZRPAREN�COMMAZ SEMICOLON�ATZPUNCTUATIONZIDENTIFIER_ENDZ
IDENTIFIER�NAMEZEXTRAZURIZURLZEXTRAS_LISTZEXTRASZ
_regex_str�VERBOSE�
IGNORECASEZVERSION_PEP440ZVERSION_LEGACYZVERSION_ONEZVERSION_MANYZ
_VERSION_SPECZsetParseActionZVERSION_SPECZMARKER_SEPARATORZMARKERZVERSION_AND_MARKERZURL_AND_MARKERZNAMED_REQUIREMENTr8 r9 �objectr5 r r r r �<module> sl 0
���