Your IP : 3.139.93.168


Current Path : /opt/alt/python310/lib64/python3.10/html/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/html/__pycache__/parser.cpython-310.opt-2.pyc

o

6��f�C�@s�	ddlZddlZddlmZdgZe�d�Ze�d�Ze�d�Ze�d�Z	e�d�Z
e�d	�Ze�d
�Ze�d�Z
e�d�Ze�d
ej�Ze�d	�Ze�d�ZGdd�dej�ZdS)�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�eZdZ	dZdd�dd�Zdd�Zdd	�Zd
d�ZdZd
d�Z	dd�Z
dd�Zdd�Zdd�Z
d6dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�ZdS)7r)ZscriptZstyleT)�convert_charrefscCs	||_|��dS�N)r�reset)�selfr�r	�2/opt/alt/python310/lib64/python3.10/html/parser.py�__init__VszHTMLParser.__init__cCs*	d|_d|_t|_d|_tj�|�dS)N�z???)�rawdata�lasttag�interesting_normal�interesting�
cdata_elem�_markupbase�
ParserBaser�rr	r	r
r_szHTMLParser.resetcCs	|j||_|�d�dS)Nr)r
�goahead�r�datar	r	r
�feedgszHTMLParser.feedcCs	|�d�dS)N�)rrr	r	r
�closepszHTMLParser.closeNcCs	|jSr)�_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|_dSr)rrrrr	r	r
�clear_cdata_mode~s
zHTMLParser.clear_cdata_modecCs2|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{�nf|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
�}nu|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
�}nn||ks|�r||k�r|j�s|j�r|j�s|�t
|||���n	|�|||��|�||�}||d�|_dS)Nr�<�&�"z[\s;]z</�<!--z<?z<!rrz&#�����;)r
�lenrr�find�rfind�maxrr�searchr�start�handle_datarZ	updatepos�
startswith�starttagopen�match�parse_starttag�parse_endtag�
parse_comment�parse_pi�parse_html_declaration�charref�group�handle_charref�end�	entityref�handle_entityref�
incomplete)rr=r
�i�n�jZampposr4r2�k�namer	r	r
r�s�
��







�




�kzHTMLParser.goaheadcCs�|j}|||d�dkr|�|�S|||d�dkr!|�|�S|||d���dkrJ|�d|d�}|dkr;dS|�||d	|��|d
S|�|�S)N�r'�z<![�	z	<!doctyperr)r(r)r
r7Zparse_marked_sectionrr,�handle_decl�parse_bogus_comment)rrAr
�gtposr	r	r
r9�s


z!HTMLParser.parse_html_declarationrcCsD|j}|�d|d�}|dkrdS|r|�||d|��|dS)Nrr(r)r)r
r,�handle_comment)rrAZreportr
�posr	r	r
rJszHTMLParser.parse_bogus_commentcCsH|j}t�||d�}|sdS|��}|�||d|��|��}|S)Nr(r))r
�picloser/r0�	handle_pir=)rrAr
r4rCr	r	r
r8 szHTMLParser.parse_picCs�d|_|�|�}|dkr|S|j}|||�|_g}t�||d�}|��}|�d���|_}||kr�t	�||�}|s=nS|�ddd�\}	}
}|
sLd}n-|dd�dkr^|dd�kssn|dd�dkrq|dd�krynn|dd�}|rt
|�}|�|	��|f�|��}||ks4|||���}|dvr�|�
�\}
}d	|jvr�|
|j�d	�}
t|j�|j�d	�}n|t|j�}|�|||��|S|�d
�r�|�||�|S|�||�||jvr�|�|�|S)Nrrr(rG�'r)�")r�/>�
rR)r�check_for_whole_start_tagr
�tagfind_tolerantr4r=r;rr�attrfind_tolerantr�append�stripZgetpos�countr+r-r1�endswith�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSr")rrA�endposr
�attrsr4rD�tag�m�attrname�restZ	attrvaluer=�lineno�offsetr	r	r
r5,sV
&(�

�
�

zHTMLParser.parse_starttagcCs�|j}t�||�}|rU|��}|||d�}|dkr|dS|dkr?|�d|�r-|dS|�d|�r5dS||kr;|S|dS|dkrEdS|dvrKdS||krQ|S|dStd	��)
Nrr�/rRr(r)rz6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)r
�locatestarttagend_tolerantr4r=r2�AssertionError)rrAr
rarC�nextr	r	r
rT_s.z$HTMLParser.check_for_whole_start_tagcCs|j}t�||d�}|sdS|��}t�||�}|s`|jdur+|�|||��|St�||d�}|sH|||d�dkrC|dS|�	|�S|�
d���}|�d|���}|�
|�|dS|�
d���}|jdur|||jkr||�|||��|S|�
|�|��|S)Nrr)r(rGz</>r)r
�	endendtagr/r=�
endtagfindr4rr1rUrJr;rr,�
handle_endtagr#)rrAr
r4rKZ	namematchZtagnamer!r	r	r
r6�s6





zHTMLParser.parse_endtagcCs|�||�|�|�dSr)r\rl�rr`r_r	r	r
r[�szHTMLParser.handle_startendtagcC�dSrr	rmr	r	r
r\��zHTMLParser.handle_starttagcCrnrr	)rr`r	r	r
rl�rozHTMLParser.handle_endtagcCrnrr	�rrEr	r	r
r<�rozHTMLParser.handle_charrefcCrnrr	rpr	r	r
r?�rozHTMLParser.handle_entityrefcCrnrr	rr	r	r
r1�rozHTMLParser.handle_datacCrnrr	rr	r	r
rL�rozHTMLParser.handle_commentcCrnrr	)rZdeclr	r	r
rI�rozHTMLParser.handle_declcCrnrr	rr	r	r
rO�rozHTMLParser.handle_picCrnrr	rr	r	r
�unknown_decl�rozHTMLParser.unknown_decl)r)�__name__�
__module__�__qualname__r]rrrrrrr"r#rr9rJr8r5rTr6r[r\rlr<r?r1rLrIrOrqr	r	r	r
r>s8		z
3"()rrZhtmlr�__all__rrr@r>r:r3rNZcommentcloserUrV�VERBOSErgrjrkrrr	r	r	r
�<module>s,








��



?>