관리-도구
편집 파일: _markupbase.cpython-39.opt-1.pyc
a �����DOg9����������������������@���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�tu�rtd��d�S�)Nz)_markupbase.ParserBase must be subclassed)� __class__r����RuntimeError��self��r����#/usr/lib64/python3.9/_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�}|||d���dkr*|d�S�|||d���dv�rBdS�t|�}|||d���dkrh|��|�S�||�dkr~|��|�S�|��||�\}}|dk�r�|S�|d kr�d |�_||k��r�||�}|dkr�||d�|��}|d kr�|��|��n |��|��|d�S�|dv��r t||�}|�sdS�|� ��}n�|dv��r<|��||�\} }nt||�jv��rR|d�}n^|dk�r�|d k�rx|�� |d�|�}n$|d v��r�|��d|���n |��d��n|��d||����|dk�r�|S�q�dS�)N����r ����>)�-r������z--�[r���Zdoctyper���z"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>����linkZlinktype�element�attlistz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)r����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@���sZ���� �zParserBase.parse_declarationr ���c�����������������C���s����|�j�}|��|d�|�\}}|dk�r&|S�|dv�r@t�||d��}n8|dv�rZt�||d��}n|��d||d�|�����d�}|s�dS�|r�|�d�}|��||d�|����|�d�S�)N����r���>���ZincludeZcdata�ignoreZtempZrcdata>����else�ifZendifz+unknown status keyword %r in marked sectionr���) 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���� _commentcloser8���r:���Zhandle_commentr+���)r���r���r;���r���r<���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�|dv�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���z<!r ���z*unexpected char in internal subset (in %r)r=���r>���r���)r;���>���Zentityr"���r#���Znotationz)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���r-���r���r.����sr1����methr���r���r���r,�������sp���� � z ParserBase._parse_doctype_subsetc�����������������C���sF���|���||�\}}|dkrdS�|�j}d||d���v�rB|�d|�d�S�dS�)Nr���r���r ���)r'���r����find)r���r���rF���r1���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���v�r�|�d|�d�}ndS�|||d������r�|d�}q�||d���s�dS�n|��||�\}}|||d���}|�sdS�|dv��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'���rI���rE���r*���r+���)r���r���rF���r���r1���r���r.���r0���r���r���r����_parse_doctype_attlist��sX���� z!ParserBase._parse_doctype_attlistc�����������������C���s����|���||�\}}|dk�r|S�|�j}|||d���}|s:dS�|dkrJ|d�S�|dv�rnt||�}|sddS�|���}q"|���||�\}}|dk�r"|S�q"d�S�)Nr���r ���r���r���rM���)r'���r���r*���r+���)r���r���rF���r1���r���r���r.���r0���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�|dv�r�t||�}|r�|���}q�dS�qr|dkr�|d�S�|��||�\}}|dk�rr|S�qrd�S�)Nr ���rA���r���r���rM���r���)r���rE���r'���r*���r+���)r���r���rF���r���r���r.���r1���r0���r���r���r����_parse_doctype_entityU��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���rF���r���r-���r0���rG���r1���r���r���r���r'���y��s���� �zParserBase._scan_namec�����������������C���s���d�S�)Nr���)r���r/���r���r���r���r)������s����zParserBase.unknown_declN)r ���)r ���)�__name__� __module__�__qualname__�__doc__r ���r���r���r���r���r(���r2���r&���r%���r,���rJ���rO���rP���rQ���r'���r)���r���r���r���r���r������s"��� R C9$r���) rZ����re�compiler<���rS���r*���r?���r7���r9���r���r���r���r���r����<module>���s���