403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.144.48.13
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib/python3.7/site-packages/cssselect/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib/python3.7/site-packages/cssselect/__pycache__/parser.cpython-37.opt-1.pyc
B

ǁaW�\�@s>dZddlZddlZddlZejddkr4eZeZne	Ze
Zdd�ZGdd�de�Z
Gdd	�d	e
e�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Ze�d�Ze�d�Ze�d �Zd!d"�Zd#d$�Z d%d&�Z!dNd(d)�Z"d*d+�Z#d,d-�Z$d.d/�Z%Gd0d1�d1e&�Z'Gd2d3�d3e'�Z(Gd4d5�d5�Z)d6d7�Z*e*d8�Z+e*d9�Z,e*d:�Z-e*d;�Z.e*d<�e*d=�d>�Z/e�d?�j0Z1e�e)j2ej3�j0Z4e�d@�j0Z5e6edA��r
e�7dBdC�Z8ndDdE�Z8dFdG�Z9dHdI�Z:dJdK�Z;GdLdM�dMe�Z<dS)Oa
    cssselect.parser
    ================

    Tokenizer, parser and parsed objects for CSS selectors.


    :copyright: (c) 2007-2012 Ian Bicking and contributors.
                See AUTHORS for more details.
    :license: BSD, see LICENSE for more details.

�N�cCs|�d����d�S)z(Lower-case, but only in the ASCII range.�utf8)�encode�lower�decode)�string�r�A/opt/alt/python37/lib/python3.7/site-packages/cssselect/parser.py�ascii_lowersr
c@seZdZdZdS)�
SelectorErrorz�Common parent for :class:`SelectorSyntaxError` and
    :class:`ExpressionError`.

    You can just use ``except SelectorError:`` when calling
    :meth:`~GenericTranslator.css_to_xpath` and handle both exceptions types.

    N)�__name__�
__module__�__qualname__�__doc__rrrr	r!src@seZdZdZdS)�SelectorSyntaxErrorz3Parsing a selector that does not match the grammar.N)rr
rrrrrr	r*src@s*eZdZdZd	dd�Zdd�Zdd�ZdS)
�Selectoru"
    Represents a parsed selector.

    :meth:`~GenericTranslator.selector_to_xpath` accepts this object,
    but ignores :attr:`pseudo_element`. It is the user’s responsibility
    to account for pseudo-elements and reject selectors with unknown
    or unsupported pseudo-elements.

    NcCs*||_|dk	r t|t�s t|�}||_dS)N)�parsed_tree�
isinstance�FunctionalPseudoElementr
�pseudo_element)�selfZtreerrrr	�__init__:s

zSelector.__init__cCsBt|jt�rt|j�}n|jr*d|j}nd}d|jj|j|fS)Nz::%s�z%s[%r%s])rrr�repr�	__class__rr)rrrrr	�__repr__UszSelector.__repr__cCs(|j��\}}}|jr|d7}|||fS)z�Return the specificity_ of this selector as a tuple of 3 integers.

        .. _specificity: http://www.w3.org/TR/selectors/#specificity

        �)r�specificityr)r�a�b�crrr	r_szSelector.specificity)N)rr
rrrrrrrrr	r0s	

rc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Classz(
    Represents selector.class_name
    cCs||_||_dS)N)�selector�
class_name)rr"r#rrr	roszClass.__init__cCsd|jj|j|jfS)Nz	%s[%r.%s])rrr"r#)rrrr	rsszClass.__repr__cCs"|j��\}}}|d7}|||fS)Nr)r"r)rrrr rrr	rwszClass.specificityN)rr
rrrrrrrrr	r!ksr!c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)rax
    Represents selector::name(arguments)

    .. attribute:: name

        The name (identifier) of the pseudo-element, as a string.

    .. attribute:: arguments

        The arguments of the pseudo-element, as a list of tokens.

        **Note:** tokens are not part of the public API,
        and may change between cssselect versions.
        Use at your own risks.

    cCst|�|_||_dS)N)r
�name�	arguments)rr$r%rrr	r�s
z FunctionalPseudoElement.__init__cCs d|jj|jdd�|jD�fS)Nz%s[::%s(%r)]cSsg|]
}|j�qSr)�value)�.0�tokenrrr	�
<listcomp>�sz4FunctionalPseudoElement.__repr__.<locals>.<listcomp>)rrr$r%)rrrr	r�s
z FunctionalPseudoElement.__repr__cCsdd�|jD�S)NcSsg|]
}|j�qSr)�type)r'r(rrr	r)�sz:FunctionalPseudoElement.argument_types.<locals>.<listcomp>)r%)rrrr	�argument_types�sz&FunctionalPseudoElement.argument_typescCs"|j��\}}}|d7}|||fS)Nr)r"r)rrrr rrr	r�sz#FunctionalPseudoElement.specificityN)rr
rrrrr+rrrrr	r}s
rc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�Functionz(
    Represents selector:name(expr)
    cCs||_t|�|_||_dS)N)r"r
r$r%)rr"r$r%rrr	r�s
zFunction.__init__cCs$d|jj|j|jdd�|jD�fS)Nz
%s[%r:%s(%r)]cSsg|]
}|j�qSr)r&)r'r(rrr	r)�sz%Function.__repr__.<locals>.<listcomp>)rrr"r$r%)rrrr	r�szFunction.__repr__cCsdd�|jD�S)NcSsg|]
}|j�qSr)r*)r'r(rrr	r)�sz+Function.argument_types.<locals>.<listcomp>)r%)rrrr	r+�szFunction.argument_typescCs"|j��\}}}|d7}|||fS)Nr)r"r)rrrr rrr	r�szFunction.specificityN)rr
rrrrr+rrrrr	r,�s
r,c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Pseudoz#
    Represents selector:ident
    cCs||_t|�|_dS)N)r"r
�ident)rr"r.rrr	r�szPseudo.__init__cCsd|jj|j|jfS)Nz	%s[%r:%s])rrr"r.)rrrr	r�szPseudo.__repr__cCs"|j��\}}}|d7}|||fS)Nr)r"r)rrrr rrr	r�szPseudo.specificityN)rr
rrrrrrrrr	r-�sr-c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Negationz.
    Represents selector:not(subselector)
    cCs||_||_dS)N)r"�subselector)rr"r0rrr	r�szNegation.__init__cCsd|jj|j|jfS)Nz%s[%r:not(%r)])rrr"r0)rrrr	r�szNegation.__repr__cCs6|j��\}}}|j��\}}}||||||fS)N)r"rr0)r�a1�b1�c1�a2�b2�c2rrr	r�szNegation.specificityN)rr
rrrrrrrrr	r/�sr/c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Attribz>
    Represents selector[namespace|attrib operator value]
    cCs"||_||_||_||_||_dS)N)r"�	namespace�attrib�operatorr&)rr"r8r9r:r&rrr	r�s
zAttrib.__init__cCs\|jrd|j|jf}n|j}|jdkr<d|jj|j|fSd|jj|j||j|jfSdS)Nz%s|%s�existsz
%s[%r[%s]]z%s[%r[%s %s %r]])r8r9r:rrr"r&)rr9rrr	r�s
zAttrib.__repr__cCs"|j��\}}}|d7}|||fS)Nr)r"r)rrrr rrr	r�szAttrib.specificityN)rr
rrrrrrrrr	r7�s
r7c@s*eZdZdZd	dd�Zdd�Zdd�ZdS)
�ElementzU
    Represents namespace|element

    `None` is for the universal selector '*'

    NcCs||_||_dS)N)r8�element)rr8r=rrr	rszElement.__init__cCs.|jpd}|jrd|j|f}d|jj|fS)N�*z%s|%sz%s[%s])r=r8rr)rr=rrr	rs
zElement.__repr__cCs|jr
dSdSdS)N)rrr)rrr)r=)rrrr	r
szElement.specificity)NN)rr
rrrrrrrrr	r<�s
r<c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Hashz 
    Represents selector#id
    cCs||_||_dS)N)r"�id)rr"r@rrr	rsz
Hash.__init__cCsd|jj|j|jfS)Nz	%s[%r#%s])rrr"r@)rrrr	rsz
Hash.__repr__cCs"|j��\}}}|d7}|||fS)Nr)r"r)rrrr rrr	rszHash.specificityN)rr
rrrrrrrrr	r?sr?c@s$eZdZdd�Zdd�Zdd�ZdS)�CombinedSelectorcCs"|dk	st�||_||_||_dS)N)�AssertionErrorr"�
combinatorr0)rr"rCr0rrr	r$szCombinedSelector.__init__cCs.|jdkrd}n|j}d|jj|j||jfS)N� z
<followed>z%s[%r %s %r])rCrrr"r0)rZcombrrr	r*s

zCombinedSelector.__repr__cCs6|j��\}}}|j��\}}}||||||fS)N)r"rr0)rr1r2r3r4r5r6rrr	r2szCombinedSelector.specificityN)rr
rrrrrrrr	rA#srAz%^[ \t\r\n\f]*([a-zA-Z]+)[ \t\r\n\f]*$z6^[ \t\r\n\f]*([a-zA-Z]*)#([a-zA-Z0-9_-]+)[ \t\r\n\f]*$z?^[ \t\r\n\f]*([a-zA-Z]*)\.([a-zA-Z][a-zA-Z0-9_-]*)[ \t\r\n\f]*$cCs�t�|�}|r$tt|�d�d��gSt�|�}|dk	r\ttt|�d�pHdd�|�d���gSt�|�}|dk	r�ttt|�d�p�dd�|�d���gSt	t
|��}||_tt
|��S)a�Parse a CSS *group of selectors*.

    If you don't care about pseudo-elements or selector specificity,
    you can skip this and use :meth:`~GenericTranslator.css_to_xpath`.

    :param css:
        A *group of selectors* as an Unicode string.
    :raises:
        :class:`SelectorSyntaxError` on invalid selectors.
    :returns:
        A list of parsed :class:`Selector` objects, one for each
        selector in the comma-separated group.

    r)r=N�)�_el_re�matchrr<�group�_id_rer?�	_class_rer!�TokenStream�tokenize�source�list�parse_selector_group)ZcssrG�streamrrr	�parseEs


rQccs@|��x2tt|��V|��dkr6|��|��q
Pq
WdS)N)�DELIM�,)�skip_whitespacer�parse_selector�peek�next)rPrrr	rOos
rOcCs�t|�\}}xl|��|��}|dkr(P|r8td|��|�ddd�rZ|��j}|��nd}t|�\}}t|||�}qW||fS)N))�EOFN)rRrSz4Got pseudo-element ::%s not at the end of a selector�+�>�~rD)�parse_simple_selectorrTrVr�is_delimrWr&rA)rP�resultrrVrCZ
next_selectorrrr	rUys"

rUFcCs�|��t|j�}|��}|jdks,|dkrv|jdkrB|��j}n|��d}|��dkrl|��|��}q~|}d}nd}}t||�}d}�x�|��}|jdks�|�	dddd�s�|r�|d	kr�P|r�t
d
|��|jdkr�t||��j�}q�|dk�r|��t||�
��}q�|d
k�r,|��t||�}q�|dk�rL|��|��dk�r�|��|�
�}|��dkr�|��t|t|��}q�|�
�}|��dk�r�t|�}q�|��dk�r�t||�}q�|��|��|��dk�r:|�r�t
d��t|dd�\}	}
|��}|
�rt
d|
|jf��|d	k�r.t
d|f��t||	�}nt||t|��}q�t
d|f��q�Wt|j�|k�r�t
d|��f��||fS)N�IDENT)rRr>)rR�|)�SrXrSrYrZr[)rR�)z4Got pseudo-element ::%s not at the end of a selector�HASH)rR�.)rR�[)rR�:)rR�()z
first-linezfirst-letter�beforeZafter�notzGot nested :not()T)�inside_negationz+Got pseudo-element ::%s inside :not() at %szExpected ')', got %szExpected selector, got %s)rT�len�usedrVr*rWr&�next_ident_or_starr<r]rr?r!�
next_ident�parse_attribr�parse_argumentsr�_unicoder-r\�posr/r,)rPrjZselector_startrVr8r=r^rr.ZargumentZargument_pseudo_elementrWrrr	r\�s�









r\cCsVg}xL|��|��}|jdks(|dkr4|�|�q|dkr@|Std|f��qWdS)N)r_�STRING�NUMBER))rRrY)rR�-)rRrbzExpected an argument, got %s)rTrWr*�appendr)rPr%rWrrr	rp�srpcCsh|��|��}|dkr6|��dkr6td|��f��|��dkrz|��|��dkrhd}|��d}q�|}|��}d}nd}}|dk�r|��|��}|dkr�t|||dd�S|dkr�d}nB|�dd	d
ddd
�r�|��dkr�|jd}|��ntd|f��|��|��}|j	dk�r.td|f��|��|��}|dk�rVtd|f��t|||||j�S)N)rRr`zExpected '|', got %s)rR�=z|=)rR�]r;rw�^�$r>r[r`�!zOperator expected, got %s)r_rsz Expected string or ident, got %szExpected ']', got %s)
rTrmrVrrWrnr7r]r&r*)r"rPr9r8�oprWr&rrr	ro�sN



rocCs�x|D]}|jdkrtd��qWd�dd�|D����}|dkrDdS|dkrPd	S|d
kr\dSd
|krpdt|�fS|�d
d
�\}}|s�d
}n&|dks�|dkr�t|d�}nt|�}|s�d}nt|�}||fS)zv
    Parses the arguments for :nth-child() and friends.

    :raises: A list of tokens
    :returns: :``(a, b)``

    rsz$String tokens not allowed in series.rcss|]}|jVqdS)N)r&)r'r(rrr	�	<genexpr>+szparse_series.<locals>.<genexpr>Zodd)rErZeven)rEr�n)rrrrrurY�1)r*�
ValueError�join�strip�int�split)�tokensr(�srrrrr	�parse_series s,

r�c@s@eZdZdd�Zdd�Zdd�Zee�d��Z	ee�d��Z
d	S)
�TokencCst�|||f�}||_|S)N)�tuple�__new__rr)�clsZtype_r&rr�objrrr	r�Fsz
Token.__new__cCsd|j|j|jfS)Nz<%s '%s' at %i>)r*r&rr)rrrr	rKszToken.__repr__cGs|jdko|j|kS)NrR)r*r&)r�valuesrrr	r]NszToken.is_delimrrN)rr
rr�rr]�propertyr:�
itemgetterr*r&rrrr	r�Es
r�c@seZdZdd�Zdd�ZdS)�EOFTokencCst�|dd|�S)NrX)r�r�)r�rrrrr	r�VszEOFToken.__new__cCsd|j|jfS)Nz
<%s at %i>)r*rr)rrrr	rYszEOFToken.__repr__N)rr
rr�rrrrr	r�Usr�c@s<eZdZdZedZdeZdZdeefZdeefZdS)�TokenMacrosz&\\([0-9a-f]{1,6})(?:\r\n|[ \n\r\t\f])?z|\\[^\n\r\f0-9a-f]z\\(?:\n|\r\n|\r|\f)|z
[^\0-\177]z[_a-z0-9-]|%s|%sz[_a-z]|%s|%sN)	rr
r�unicode_escape�escapeZ
string_escapeZnonasciiZnmcharZnmstartrrrr	r�`sr�cCst�|tt�tj�jS)N)�re�compile�varsr��
IGNORECASErG)�patternrrr	�_compilehsr�z[ \t\r\n\f]+z[+-]?(?:[0-9]*\.[0-9]+|[0-9]+)z#(?:%(nmchar)s)+z -?(?:%(nmstart)s)(?:%(nmchar)s)*z!([^\n\r\f\\']|%(string_escape)s)*z!([^\n\r\f\\"]|%(string_escape)s)*)�'�"z\\(.)z\\(?:\n|\r\n|\r|\f)�methodcallerrHrcCs
|�d�S)Nr)rH)rGrrr	�_replace_simple}sr�cCs&t|�d�d�}|tjkrd}t|�S)Nr�i��)r�rH�sys�
maxunicode�_unichr)rGZ	codepointrrr	�_replace_unicode�s
r�cCstt|�}tt|�}|S)N)�_sub_unicode_escaper��_sub_simple_escaper�)r&rrr	�unescape_ident�s

r�ccs
d}t|�}�x�||k�r�t||d�}|rBtdd|�V|��}qt||d�}|r~tttt|�	���}td||�V|��}qt
||d�}|r�tttt|�	�dd���}td||�V|��}q||}|tk�r^t|||dd�}|s�td��|��}||k�rt
d	|��|||k�r,t
d
|��tttttd|�	����}td||�V|d}qt||d�}|�r�|�	�}td
||�V|��}q|d}|||�dk�r�|�d|�}|dk�r�|}q|d7}qtd|||�V|d7}qW||k�s�t�t|�VdS)Nr)rrrarDr_rrcz)Should have found at least an empty matchzUnclosed string at %szInvalid string at %srrsrtrEz/*z*/���rR)rk�_match_whitespacer��end�_match_identr�r�r�r�rH�_match_hash�_match_string_by_quoterBr�_sub_newline_escape�
_match_number�findr�)r�rrZlen_srGr&ZquoteZend_posZpos2rrr	rL�sl


rLc@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)rKNcCsTg|_t|�|_||_d|_d|_y|jj|_Wntk
rN|jj	|_YnXdS)NF)
rl�iterr�rM�peeked�_peekingrW�
next_token�AttributeError�__next__)rr�rMrrr	r�s
zTokenStream.__init__cCs<|jr d|_|j�|j�|jS|��}|j�|�|SdS)NF)r�rlrvr�r�)rrWrrr	rW�szTokenStream.nextcCs|js|��|_d|_|jS)NT)r�r�r�)rrrr	rV�s
zTokenStream.peekcCs&|��}|jdkr td|f��|jS)Nr_zExpected ident, got %s)rWr*rr&)rrWrrr	rn�s
zTokenStream.next_identcCs6|��}|jdkr|jS|dkr$dStd|f��dS)Nr_)rRr>zExpected ident or '*', got %s)rWr*r&r)rrWrrr	rm�s
zTokenStream.next_ident_or_starcCs|��}|jdkr|��dS)Nra)rVr*rW)rrVrrr	rT�s
zTokenStream.skip_whitespace)N)	rr
rrrWrVrnrmrTrrrr	rK�s


rK)F)=rr�r�r:�version_infoZunicoderqZunichrr��str�chrr
�	Exceptionr�SyntaxErrorr�objectrr!rr,r-r/r7r<r?rAr�rFrIrJrQrOrUr\rpror�r�r�r�r�r�r�r�r�r�r��subr�r��Ir�r��hasattrr�r�r�r�rLrKrrrr	�<module>
sh	;#

*

S-%A

Youez - 2016 - github.com/yon3zu
LinuXploit