AlkantarClanX12

Your IP : 3.148.106.49


Current Path : /opt/alt/python38/lib64/python3.8/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/__pycache__/_markupbase.cpython-38.pyc

U

i�f9�@sVdZddlZe�d�jZe�d�jZe�d�Ze�d�Ze�d�Z[Gdd	�d	�Z	dS)
z�Shared support for scanning document type declarations in HTML and XHTML.

This module is used as a foundation for the html.parser module.  It has no
documented public API and should not be used directly.

�Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z	]\s*]\s*>z]\s*>c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdZ	d
d�Z
d#dd�Zd$dd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"S)%�
ParserBaseziParser base class which provides some common support methods used
    by the SGML/HTML and XHTML parsers.cCs|jtkrtd��dS)Nz)_markupbase.ParserBase must be subclassed)�	__class__r�RuntimeError��self�r�0/opt/alt/python38/lib64/python3.8/_markupbase.py�__init__s
�zParserBase.__init__cCstd��dS)Nz.subclasses of ParserBase must override error())�NotImplementedError)r�messagerrr�error s�zParserBase.errorcCsd|_d|_dS)N�r��lineno�offsetrrrr�reset$szParserBase.resetcCs|j|jfS)z&Return current line number and offset.rrrrr�getpos(szParserBase.getposcCsb||kr|S|j}|�d||�}|rN|j||_|�d||�}||d|_n|j|||_|S)N�
r
)�rawdata�countr�rindexr)r�i�jrZnlines�posrrr�	updatepos0szParserBase.updatepos�c
Cs�|j}|d}|||�dks&td��|||d�dkrB|dS|||d�dkrZdSt|�}|||d�dkr�|�|�S||d	kr�|�|�S|�||�\}}|d
kr�|S|dkr�d|_||k�r�||}|dk�r||d|�}|dk�r|�|�n
|�|�|dS|d
k�r<t	||�}|�s2dS|�
�}n�|dk�rX|�||�\}	}nt||jk�rn|d}n^|d	k�r�|dk�r�|�|d|�}n$|dk�r�|�d|�n
|�d�n|�d||�|d
kr�|Sq�dS)N��<!z$unexpected call to parse_declarationr
�>)�-r���z--�[rZdoctyperz"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>�linktype�element�link�attlistz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)
r�AssertionError�len�
parse_comment�parse_marked_section�
_scan_name�_decl_othercharsZhandle_decl�unknown_decl�_declstringlit_match�end�_parse_doctype_subsetr)
rrrr�nZdecltype�c�data�m�namerrr�parse_declaration@s\














�zParserBase.parse_declarationr
cCs�|j}|||d�dks"td��|�|d|�\}}|dkrB|S|dkr\t�||d�}n4|dkrvt�||d�}n|�d||d|��|s�dS|r�|�d�}|�||d|��|�	d�S)	N�z<![z)unexpected call to parse_marked_section()r>�temp�rcdata�include�cdata�ignore>�else�if�endifz+unknown status keyword %r in marked sectionr )
rr&r*�_markedsectionclose�search�_msmarkedsectioncloser�startr,r.)rr�reportrZsectNamer�matchrrrr)�s 
zParserBase.parse_marked_sectioncCsj|j}|||d�dkr$|�d�t�||d�}|s<dS|r`|�d�}|�||d|��|�d�S)N��<!--z"unexpected call to parse_comment()r r)rr�
_commentcloser@rBZhandle_commentr.)rrrCrrDrrrrr(�s

zParserBase.parse_commentc
Cs*|j}t|�}|}||k�r&||}|dk�r0|||d�}|dkrJdS|dkrp|�||d�|�d|�|d|kr�dS|d|kr�dS|||d�dkr�|j|d	d
�}|d	kr|Sq|�|d|�\}}|dkr�dS|dk�r|�||d�|�d|�t|d
|�}	|	||�}|d	k�r$|Sq|dk�r�|d|k�rLdS|�|d|�\}}|d	k�rn|S||dk�r$|d}q|dk�r�|d}||k�r�||���r�|d}�q�||k�r�||dk�r�|S|�||�|�d�ndSq|���r
|d}q|�||�|�d|�qdS)N�<rr rr
z*unexpected char in internal subset (in %r)rErFr)rC>�entityr#r%�notationz)unknown declaration %r in internal subsetZ_parse_doctype_�%�;�]rz%unexpected char after internal subsetz%unexpected char %r in internal subset)rr'rrr(r*�getattr�isspace)
rr�declstartposrr0rr1�sr4Zmethrrrr/�sp


�








z ParserBase._parse_doctype_subsetcCsF|�||�\}}|dkrdS|j}d||d�krB|�d|�dSdS)Nr rr
)r*r�find)rrrPr4rrrrr�_parse_doctype_element�sz!ParserBase._parse_doctype_elementcCs�|j}|�||�\}}|||d�}|dkr2dS|dkrB|dS|�||�\}}|dkr^|S|||d�}|dkrzdS|dkr�d||d�kr�|�d|�d}ndS|||d���r�|d}q�||d�s�dSn|�||�\}}|||d�}|�sdS|dk�rDt||�}|�r&|��}ndS|||d�}|�sDdS|d	k�r�||d�d	k�rddS|�|d|�\}}|dk�r�|S|||d�}|�s�dS|dkrB|dSqBdS)
Nr
rr rr�(�)�'"�#)rr*rRrOr-r.)rrrPrr4rr1r3rrr�_parse_doctype_attlistsX





z!ParserBase._parse_doctype_attlistcCs�|�||�\}}|dkr|S|j}|||d�}|s:dS|dkrJ|dS|dkrnt||�}|sddS|��}q"|�||�\}}|dkr"|Sq"dS)Nrr
r rrV)r*rr-r.)rrrPr4rrr1r3rrr�_parse_doctype_notation=s"

z"ParserBase._parse_doctype_notationcCs�|j}|||d�dkrR|d}|||d�}|s:dS|��rP|d}q"qVq"n|}|�||�\}}|dkrr|S|j||d�}|s�dS|dkr�t||�}|r�|��}q�dSqr|dkr�|dS|�||�\}}|dkrr|SqrdS)Nr
rKr rrVr)rrOr*r-r.)rrrPrrr1r4r3rrr�_parse_doctype_entityTs4


z ParserBase._parse_doctype_entitycCs�|j}t|�}||krdSt||�}|r\|��}|��}|t|�|krLdS|��|��fS|�||�|�d|||d��dS)N)Nr zexpected name token at %r�)	rr'�_declname_match�group�strip�lowerr.rr)rrrPrr0r3rQr4rrrr*xs
�zParserBase._scan_namecCsdS)Nr)rr2rrrr,�szParserBase.unknown_declN)r
)r
)�__name__�
__module__�__qualname__�__doc__r	rrrrr+r5r)r(r/rSrXrYrZr*r,rrrrrs"
R

C9$r)
rc�re�compilerDr\r-rGr?rArrrrr�<module>s