403Webshell
Server IP : 162.144.4.212  /  Your IP : 216.73.216.108
Web Server : Apache
System : Linux gator2125.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : cozeellc ( 2980)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /usr/libexec/oracle-cloud-agent/plugins/osms/packaging/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/libexec/oracle-cloud-agent/plugins/osms/packaging/_parser.pyc
a

i��f�'�@s�dZddlmZddlZddlmZmZmZmZddl	m
Z
mZGdd�d�ZGd	d
�d
e�Z
Gdd�de�ZGd
d�de�Zee
efZeeeefZeeedfZeedeefZGdd�de�Zddd�dd�Zddd�dd�Zddd�dd�Zddddd�d d!�Zdd"d�d#d$�Zdd"d�d%d&�Zddd�d'd(�Zddd�d)d*�Zddd�d+d,�Zddd�d-d.�Zddd�d/d0�Z ddd�d1d2�Z!dd3d�d4d5�Z"dd6d�d7d8�Z#dd
d9�d:d;�Z$ddd<�d=d>�Z%ddd�d?d@�Z&dS)Az�Handwritten parser of dependency specifiers.

The docstring for each __parse_* function contains EBNF-inspired grammar representing
the implementation.
�)�annotationsN)�
NamedTuple�Sequence�Tuple�Union�)�
DEFAULT_RULES�	Tokenizerc@sFeZdZddd�dd�Zdd�dd�Zdd�d	d
�Zdd�dd�Zd
S)�Node�str�None)�value�returncCs
||_dS�N�r
)�selfr
�r�u/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/packaging/_parser.py�__init__sz
Node.__init__�rcCs|jSrr�rrrr�__str__szNode.__str__cCsd|jj�d|�d�S)N�<z('z')>)�	__class__�__name__rrrr�__repr__sz
Node.__repr__cCst�dSr)�NotImplementedErrorrrrr�	serializeszNode.serializeN)r�
__module__�__qualname__rrrrrrrrr
sr
c@seZdZdd�dd�ZdS)�VariablerrcCst|�Sr�rrrrrrszVariable.serializeN�rrrrrrrrr sr c@seZdZdd�dd�ZdS)�ValuerrcCsd|�d�S)N�"rrrrrr#szValue.serializeNr"rrrrr#"sr#c@seZdZdd�dd�ZdS)�OprrcCst|�Srr!rrrrr(szOp.serializeNr"rrrrr%'sr%�
MarkerAtom�
MarkerListc@s6eZdZUded<ded<ded<ded<ded<d	S)
�ParsedRequirementr�name�url�	list[str]�extras�	specifierzMarkerList | None�markerN)rrr�__annotations__rrrrr(2s

r(r)�sourcercCstt|td��S�N)�rules)�_parse_requirementr	r�r0rrr�parse_requirement=sr5r	)�	tokenizerrcCsf|�d�|jddd�}|j}|�d�t|�}|�d�t|�\}}}|jddd�t|||||�S)zI
    requirement = WS? IDENTIFIER WS? extras WS? requirement_details
    �WS�
IDENTIFIERz1package name at the start of dependency specifier��expected�ENDzend of dependency specifier)�consume�expect�text�
_parse_extras�_parse_requirement_detailsr()r6�
name_tokenr)r,r*r-r.rrrr3As
�

r3z"tuple[str, str, MarkerList | None]cCs�d}d}d}|�d�r�|��|�d�|j}|jddd�j}|jdd	d
�rV|||fS|jddd�|jdd	d
�r||||fSt||dd
�}nF|j}t|�}|�d�|jdd	d
�r�|||fSt|||r�dndd
�}|||fS)z~
    requirement_details = AT URL (WS requirement_marker?)?
                        | specifier WS? (requirement_marker)?
    �N�ATr7�URLzURL after @r9r;T��peekzwhitespace after URLzURL and whitespace)�
span_start�after�version specifierz#name and no valid version specifier)�check�readr<�positionr=r>�_parse_requirement_marker�_parse_specifier)r6r-r*r.�	url_start�specifier_startrrrr@Vs:



�

��
r@�int)r6rGrHrcCs>|�d�s |jd|�d�|d�|��t|�}|�d�|S)z3
    requirement_marker = SEMICOLON marker WS?
    �	SEMICOLONz!Expected end or semicolon (after �))rGr7)rJ�raise_syntax_errorrK�
_parse_markerr<)r6rGrHr.rrrrM�s

�
rMr+cCsb|jddd�sgS|jdddd��,|�d�t|�}|�d�Wd�n1sT0Y|S)	zG
    extras = (LEFT_BRACKET wsp* extras_list? wsp* RIGHT_BRACKET)?
    �LEFT_BRACKETTrE�
RIGHT_BRACKETr,��aroundr7N)rJ�enclosing_tokensr<�_parse_extras_list)r6r,rrrr?�s�
(r?cCs�g}|�d�s|S|�|��j�|�d�|jddd�rF|�d�n|�d�sRq�|��|�d�|jddd�}|�|j�q"|S)	z>
    extras_list = identifier (wsp* ',' wsp* identifier)*
    r8r7TrEz"Expected comma between extra names�COMMAzextra name after commar9)rJ�appendrKr>r<rTr=)r6r,�extra_tokenrrrr[�s



r[cCsP|jdddd��,|�d�t|�}|�d�Wd�n1sB0Y|S)zr
    specifier = LEFT_PARENTHESIS WS? version_many WS? RIGHT_PARENTHESIS
              | WS? version_many WS?
    �LEFT_PARENTHESIS�RIGHT_PARENTHESISrIrXr7N)rZr<�_parse_version_many)r6�parsed_specifiersrrrrN�s�
(rNcCs�d}|�d�r�|j}||��j7}|jddd�rF|jd||jdd�|jd	dd�rf|jd
||jd�|�d�|�d�s|q�||��j7}|�d�q|S)
z@
    version_many = (SPECIFIER (WS? COMMA WS? SPECIFIER)*)?
    rB�	SPECIFIER�VERSION_PREFIX_TRAILTrEz6.* suffix can only be used with `==` or `!=` operatorsr)rG�span_end�VERSION_LOCAL_LABEL_TRAILz@Local version label can only be used with `==` or `!=` operatorsr7r\)rJrLrKr>rTr<)r6rbrGrrrra�s,
��

racCstt|td��Sr1)�_parse_full_markerr	rr4rrr�parse_marker�srhcCst|�}|jddd�|S)Nr;zend of marker expressionr9)rUr=)r6�retvalrrrrgsrgcCs:t|�g}|�d�r6|��}t|�}|�|j|f�q
|S)z4
    marker = marker_atom (BOOLOP marker_atom)+
    �BOOLOP)�_parse_marker_atomrJrK�extendr>)r6�
expression�token�
expr_rightrrrrUs

rUcCs||�d�|jddd�rf|jdddd��,|�d�t|�}|�d�Wd�qn1sZ0Ynt|�}|�d�|S)	zw
    marker_atom = WS? LEFT_PARENTHESIS WS? marker WS? RIGHT_PARENTHESIS WS?
                | WS? marker_item WS?
    r7r_TrEr`zmarker expressionrXN)r<rJrZrU�_parse_marker_item)r6r.rrrrks
�
*
rk�
MarkerItemcCsJ|�d�t|�}|�d�t|�}|�d�t|�}|�d�|||fS)zG
    marker_item = WS? marker_var WS? marker_op WS? marker_var WS?
    r7)r<�_parse_marker_var�_parse_marker_op)r6�marker_var_left�	marker_op�marker_var_rightrrrrp(s



rp�	MarkerVarcCsH|�d�r t|��j�dd��S|�d�r8t|��j�S|jdd�dS)z/
    marker_var = VARIABLE | QUOTED_STRING
    �VARIABLE�.�_�
QUOTED_STRINGz+Expected a marker variable or quoted string)�messageN)rJ�process_env_varrKr>�replace�process_python_strrT�r6rrrrr6s

�rr)�env_varrcCs|dvrtd�St|�SdS)N)�platform_python_implementation�python_implementationr�)r )r�rrrr}Dsr})�
python_strrcCst�|�}tt|��Sr)�ast�literal_evalr#r)r�r
rrrrKs
rcCsv|�d�r|��td�S|�d�rP|��|jddd�|jddd�td�S|�d	�rht|��j�S|�d
�SdS)z&
    marker_op = IN | NOT IN | OP
    �IN�in�NOTr7zwhitespace after 'not'r9z'in' after 'not'znot in�OPzJExpected marker operator, one of <=, <, !=, ==, >=, >, ~=, ===, in, not inN)rJrKr%r=r>rTr�rrrrsPs


�rs)'�__doc__�
__future__rr��typingrrrr�
_tokenizerrr	r
r r#r%rwrqr&rr'r(r5r3r@rMr?r[rNrarhrgrUrkrprrr}rrsrrrr�<module>s<3 

Youez - 2016 - github.com/yon3zu
LinuXploit