Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3.10/html/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3.10/html/__pycache__/parser.cpython-310.pyc
o

�*�g�C�@s�dZddlZddlZddlmZdgZe�d�Ze�d�Ze�d�Z	e�d�Z
e�d	�Ze�d
�Ze�d�Z
e�d�Ze�d
�Ze�dej�Ze�d
�Ze�d�ZGdd�dej�ZdS)zA parser for HTML and XHTML.�N)�unescape�
HTMLParserz[&<]z
&[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z	<[a-zA-Z]�>z--\s*>z+([a-zA-Z][^\t\n\r\f />\x00]*)(?:\s|/(?!>))*z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*aF
  <[a-zA-Z][^\t\n\r\f />\x00]*       # tag name
  (?:[\s/]*                          # optional whitespace before attribute name
    (?:(?<=['"\s/])[^\s/>][^\s/=>]*  # attribute name
      (?:\s*=+\s*                    # value indicator
        (?:'[^']*'                   # LITA-enclosed value
          |"[^"]*"                   # LIT-enclosed value
          |(?!['"])[^>\s]*           # bare value
         )
        \s*                          # possibly followed by a space
       )?(?:\s|/(?!>))*
     )*
   )?
  \s*                                # trailing whitespace
z#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c@s�eZdZdZdZdd�dd�Zdd�Zd	d
�Zdd�Zd
Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zd7dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd
S)8raEFind tags and other markup and call handler functions.

    Usage:
        p = HTMLParser()
        p.feed(data)
        ...
        p.close()

    Start tags are handled by calling self.handle_starttag() or
    self.handle_startendtag(); end tags by self.handle_endtag().  The
    data between tags is passed from the parser to the derived class
    by calling self.handle_data() with the data as argument (the data
    may be split up in arbitrary chunks).  If convert_charrefs is
    True the character references are converted automatically to the
    corresponding Unicode character (and self.handle_data() is no
    longer split in chunks), otherwise they are passed by calling
    self.handle_entityref() or self.handle_charref() with the string
    containing respectively the named or numeric reference as the
    argument.
    )�script�styleT)�convert_charrefscCs||_|��dS)z�Initialize and reset this instance.

        If convert_charrefs is True (the default), all character references
        are automatically converted to the corresponding Unicode characters.
        N)r�reset)�selfr�r
�"/usr/lib/python3.10/html/parser.py�__init__VszHTMLParser.__init__cCs(d|_d|_t|_d|_tj�|�dS)z1Reset this instance.  Loses all unprocessed data.�z???N)�rawdata�lasttag�interesting_normal�interesting�
cdata_elem�_markupbase�
ParserBaser�r	r
r
rr_s
zHTMLParser.resetcCs|j||_|�d�dS)z�Feed data to the parser.

        Call this as often as you want, with as little or as much text
        as you want (may include '\n').
        rN)r�goahead�r	�datar
r
r�feedgszHTMLParser.feedcCs|�d�dS)zHandle any buffered data.�N)rrr
r
r�closepszHTMLParser.closeNcCs|jS)z)Return full source of start tag: '<...>'.)�_HTMLParser__starttag_textrr
r
r�get_starttag_textvszHTMLParser.get_starttag_textcCs$|��|_t�d|jtj�|_dS)Nz</\s*%s\s*>)�lowerr�re�compile�Ir)r	�elemr
r
r�set_cdata_modezs
zHTMLParser.set_cdata_modecCst|_d|_dS�N)rrrrr
r
r�clear_cdata_mode~s
zHTMLParser.clear_cdata_modecCs:|j}d}t|�}||k�r�|jr;|js;|�d|�}|dkr:|�dt||d��}|dkr8t�d��	||�s8�n�|}n|j
�	||�}|rI|��}n|jrN�n�|}||kro|jrf|jsf|�t
|||���n	|�|||��|�||�}||kr{�nj|j}|d|��rt�||�r�|�|�}	n>|d|�r�|�|�}	n3|d|�r�|�|�}	n(|d|�r�|�|�}	n|d	|�r�|�|�}	n|d
|kr�|�d�|d
}	n�n|	dk�r|sאn|�d|d
�}	|	dkr�|�d|d
�}	|	dkr�|d
}	n|	d
7}	|j�r|j�s|�t
|||	���n	|�|||	��|�||	�}n�|d|��rlt�||�}|�rO|��d
d�}
|�|
�|��}	|d|	d
��sH|	d
}	|�||	�}q	d||d�v�rk|�|||d
��|�||d
�}ny|d|��r�t�||�}|�r�|�d
�}
|�|
�|��}	|d|	d
��s�|	d
}	|�||	�}q	t�||�}|�r�|�r�|��||d�k�r�|��}	|	|k�r�|}	|�||d
�}n|d
|k�r�|�d�|�||d
�}nnJd��||ks|�r||k�r|j�s|j�r|j�s|�t
|||���n	|�|||��|�||�}||d�|_dS)Nr�<�&�"z[\s;]�</�<!--�<?�<!rrz&#�����;zinteresting.search() lied)r�lenrr�find�rfind�maxrr �searchr�start�handle_datar�	updatepos�
startswith�starttagopen�match�parse_starttag�parse_endtag�
parse_comment�parse_pi�parse_html_declaration�charref�group�handle_charref�end�	entityref�handle_entityref�
incomplete)r	rCr�i�n�j�ampposr:r8�k�namer
r
rr�s�
��







�




�kzHTMLParser.goaheadcCs�|j}|||d�dksJd��|||d�dkr |�|�S|||d�dkr/|�|�S|||d���d	krX|�d
|d�}|dkrIdS|�||d|��|dS|�|�S)
Nr-r,z+unexpected call to parse_html_declaration()�r*�z<![�	z	<!doctyperr.r)rr=�parse_marked_sectionrr1�handle_decl�parse_bogus_comment)r	rGr�gtposr
r
rr?�s


z!HTMLParser.parse_html_declarationrcCs`|j}|||d�dvsJd��|�d|d�}|dkrdS|r,|�||d|��|dS)Nr-)r,r)z"unexpected call to parse_comment()rr.r)rr1�handle_comment)r	rG�reportr�posr
r
rrRszHTMLParser.parse_bogus_commentcCsd|j}|||d�dksJd��t�||d�}|sdS|��}|�||d|��|��}|S)Nr-r+zunexpected call to parse_pi()r.)r�picloser4r5�	handle_pirC)r	rGrr:rIr
r
rr> szHTMLParser.parse_picCs�d|_|�|�}|dkr|S|j}|||�|_g}t�||d�}|s(Jd��|��}|�d���|_}||kr�t	�||�}|sCnS|�ddd�\}	}
}|
sRd}n-|dd�dkrd|dd�ksyn|dd�dkrw|dd�krnn|dd�}|r�t
|�}|�|	��|f�|��}||ks:|||���}|d	vr�|�
�\}
}d
|jvr�|
|j�d
�}
t|j�|j�d
�}n|t|j�}|�|||��|S|�d�r�|�||�|S|�||�||jvr�|�|�|S)Nrrz#unexpected call to parse_starttag()r-rN�'r.�")r�/>�
r[)r�check_for_whole_start_tagr�tagfind_tolerantr:rCrArr�attrfind_tolerantr�append�strip�getpos�countr0r2r6�endswith�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSr#)r	rG�endposr�attrsr:rK�tag�m�attrname�rest�	attrvaluerC�lineno�offsetr
r
rr;,sX
&(�

�
�

zHTMLParser.parse_starttagcCs�|j}t�||�}|rU|��}|||d�}|dkr|dS|dkr?|�d|�r-|dS|�d|�r5dS||kr;|S|dS|dkrEdS|dvrKdS||krQ|S|dStd	��)
Nrr�/r[r-r.r
z6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)r�locatestarttagend_tolerantr:rCr8�AssertionError)r	rGrrkrI�nextr
r
rr]_s.z$HTMLParser.check_for_whole_start_tagcCs*|j}|||d�dksJd��t�||d�}|sdS|��}t�||�}|sn|jdur9|�|||��|St�||d�}|sV|||d�dkrQ|dS|�	|�S|�
d���}|�d|���}|�
|�|dS|�
d���}|jdur�||jkr�|�|||��|S|�
|�|��|S)	Nr-r)zunexpected call to parse_endtagrr.rNz</>r)r�	endendtagr4rC�
endtagfindr:rr6r^rRrArr1�
handle_endtagr%)r	rGrr:rS�	namematch�tagnamer"r
r
rr<�s8





zHTMLParser.parse_endtagcCs|�||�|�|�dSr$)rfrw�r	rjrir
r
rre�szHTMLParser.handle_startendtagcC�dSr$r
rzr
r
rrf��zHTMLParser.handle_starttagcCr{r$r
)r	rjr
r
rrw�r|zHTMLParser.handle_endtagcCr{r$r
�r	rLr
r
rrB�r|zHTMLParser.handle_charrefcCr{r$r
r}r
r
rrE�r|zHTMLParser.handle_entityrefcCr{r$r
rr
r
rr6�r|zHTMLParser.handle_datacCr{r$r
rr
r
rrT�r|zHTMLParser.handle_commentcCr{r$r
)r	�declr
r
rrQ�r|zHTMLParser.handle_declcCr{r$r
rr
r
rrX�r|zHTMLParser.handle_picCr{r$r
rr
r
r�unknown_decl�r|zHTMLParser.unknown_decl)r)�__name__�
__module__�__qualname__�__doc__rgrrrrrrr#r%rr?rRr>r;r]r<rerfrwrBrEr6rTrQrXrr
r
r
rr>s8		z
3"()r�rr�htmlr�__all__r rrFrDr@r9rW�commentcloser^r_�VERBOSErrrurvrrr
r
r
r�<module>s,








��



Spamworldpro Mini