관리-도구
편집 파일: requirements.cpython-39.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 ���