Edit File: _markupbase.cpython-38.pyc
U ����@��d9����������������������@���sV���d�Z�ddlZe�d�jZe�d�jZe�d�Ze�d�Ze�d�Z[G�dd ��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����e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd d��ZdZ d d��Z d#dd�Zd$dd�Zdd��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.c�����������������C���s���|�j�tkrtd��d�S�)Nz)_markupbase.ParserBase must be subclassed)� __class__r����RuntimeError��self��r����0/opt/alt/python38/lib64/python3.8/_markupbase.py�__init__���s���� �zParserBase.__init__c�����������������C���s���t�d��d�S�)Nz.subclasses of ParserBase must override error())�NotImplementedError)r����messager���r���r����error ���s�����zParserBase.errorc�����������������C���s���d|�_�d|�_d�S�)N����r�����lineno�offsetr���r���r���r����reset$���s����zParserBase.resetc�����������������C���s���|�j�|�jfS�)z&Return current line number and offset.r���r���r���r���r����getpos(���s����zParserBase.getposc�����������������C���sb���||kr|S�|�j�}|�d||�}|rN|�j|�|�_|�d||�}||d��|�_n|�j|�|�|�_|S�)N� r ���)�rawdata�countr����rindexr���)r����i�jr���Znlines�posr���r���r���� updatepos0���s����zParserBase.updatepos��c����������� ������C���s���|�j�}|d�}|||��dks&td��|||d���dkrB|d�S�|||d���dkrZdS�t|�}|||d���dkr�|��|�S�||�d kr�|��|�S�|��||�\}}|d k�r�|S�|dkr�d|�_||k��r�||�}|dk�r||d�|��}|dk�r|��|��n |��|��|d�S�|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 k�r�|S�q�dS�)N�����<!z$unexpected call to parse_declarationr ����>)�-r������z--�[r���Zdoctyper���z"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>����attlist�link�element�linktypez&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���) r���r���r���r����nZdecltype�c�data�m�namer���r���r����parse_declaration@���s\���� �zParserBase.parse_declarationr ���c�����������������C���s����|�j�}|||d���dks"td��|��|d�|�\}}|dk�rB|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���>����include�ignore�temp�rcdata�cdata>����if�else�endifz+unknown status keyword %r in marked sectionr ���) r���r&���r*����_markedsectionclose�search�_msmarkedsectioncloser����startr,���r.���)r���r����reportr���ZsectNamer����matchr���r���r���r)�������s ���� zParserBase.parse_marked_sectionc�����������������C���sj���|�j�}|||d���dkr$|��d��t�||d��}|s<dS�|r`|�d�}|��||d�|����|�d�S�)N�����<!--z"unexpected call to parse_comment()r ���r���)r���r���� _commentcloser@���rB���Zhandle_commentr.���)r���r���rC���r���rD���r���r���r���r���r(�������s���� zParserBase.parse_commentc����������� ������C���s*��|�j�}t|�}|}||k��r&||�}|dk�r0|||d���}|dkrJdS�|dkrp|��||d���|��d|���|d�|kr�dS�|d�|kr�dS�|||d���dkr�|�j|d d �}|d k�r|S�q|��|d�|�\}}|dkr�dS�|dk�r|��||d���|��d|���t|�d |��} | ||�}|d k��r$|S�q|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��ndS�q|����r |d�}q|��||��|��d|���qdS�)N�<r���r ���r���r ���z*unexpected char in internal subset (in %r)rE���rF���r���)rC���>���r"���r$����notation�entityz)unknown declaration %r in internal subsetZ_parse_doctype_�%�;�]r���z%unexpected char after internal subsetz%unexpected char %r in internal subset)r���r'���r���r���r(���r*����getattr�isspace) r���r����declstartposr���r0���r���r1����sr4���Zmethr���r���r���r/�������sp���� � z ParserBase._parse_doctype_subsetc�����������������C���sF���|���||�\}}|dkrdS�|�j}d||d���krB|�d|�d�S�dS�)Nr ���r���r ���)r*���r����find)r���r���rP���r4���r���r���r���r���r����_parse_doctype_element����s����z!ParserBase._parse_doctype_elementc�����������������C���s���|�j�}|��||�\}}|||d���}|dkr2dS�|dkrB|d�S�|��||�\}}|dk�r^|S�|||d���}|dkrzdS�|dkr�d||d���kr�|�d|�d�}ndS�|||d������r�|d�}q�||d���s�dS�n|��||�\}}|||d���}|�sdS�|dk�rDt||�}|�r&|���}ndS�|||d���}|�sDdS�|d k�r�||d���d k�rddS�|��|d�|�\}}|dk��r�|S�|||d���}|�s�dS�|dkrB|d�S�qBd�S�) Nr ���r���r ���r���r����(�)�'"�#)r���r*���rR���rO���r-���r.���)r���r���rP���r���r4���r���r1���r3���r���r���r����_parse_doctype_attlist��sX���� z!ParserBase._parse_doctype_attlistc�����������������C���s����|���||�\}}|dk�r|S�|�j}|||d���}|s:dS�|dkrJ|d�S�|dkrnt||�}|sddS�|���}q"|���||�\}}|dk�r"|S�q"d�S�)Nr���r ���r ���r���rV���)r*���r���r-���r.���)r���r���rP���r4���r���r���r1���r3���r���r���r����_parse_doctype_notation=��s"���� z"ParserBase._parse_doctype_notationc�����������������C���s����|�j�}|||d���dkrR|d�}|||d���}|s:dS�|���rP|d�}q"qVq"n|}|��||�\}}|dk�rr|S�|�j�||d���}|s�dS�|dkr�t||�}|r�|���}q�dS�qr|dkr�|d�S�|��||�\}}|dk�rr|S�qrd�S�)Nr ���rK���r ���r���rV���r���)r���rO���r*���r-���r.���)r���r���rP���r���r���r1���r4���r3���r���r���r����_parse_doctype_entityT��s4���� z ParserBase._parse_doctype_entityc�����������������C���s����|�j�}t|�}||krdS�t||�}|r\|���}|���}|t|��|krLdS�|���|���fS�|��||��|��d|||d������d�S�)N)Nr ���zexpected name token at %r����) r���r'����_declname_match�group�strip�lowerr.���r���r���)r���r���rP���r���r0���r3���rQ���r4���r���r���r���r*���x��s���� �zParserBase._scan_namec�����������������C���s���d�S�)Nr���)r���r2���r���r���r���r,������s����zParserBase.unknown_declN)r ���)r ���)�__name__� __module__�__qualname__�__doc__r ���r���r���r���r���r+���r5���r)���r(���r/���rS���rX���rY���rZ���r*���r,���r���r���r���r���r������s"��� R C9$r���) rc����re�compilerD���r\���r-���rG���r?���rA���r���r���r���r���r����<module>���s���