Edit File: _markupbase.cpython-36.opt-1.pyc
3 � \9������������������@���sV���d�Z�ddlZejd�jZejd�jZejd�Zejd�Zejd�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����#/usr/lib64/python3.6/_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�offset)r���r���r���r����reset$���s����zParserBase.resetc�������������C���s���|�j�|�jfS�)z&Return current line number and offset.)r ���r���)r���r���r���r����getpos(���s����zParserBase.getposc�������������C���sb���||kr|S�|�j�}|jd||�}|rN|�j|�|�_|jd||�}||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���dkrBdS�t|�}|||d���dkrh|�j|�S�||�dkr~|�j|�S�|�j||�\}}|dk�r�|S�|d kr�d|�_�x||k��r�||�}|dk��r�||d�|��}|d kr�|�j|��n |�j|��|d�S�|d k�r&t||�}|�sdS�|j ��}n�|dk�rB|�j||�\} }nt||�jk�rX|d�}n^|dk�r�|d k�r~|�j |d�|�}n$|dk�r�|�jd|���n |�jd��n|�jd||����|dk�r�|S�q�W�dS�)N����r����>�-r���z--�[r���Zdoctypez"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ�attlist�linktype�link�elementz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)r���r������r"���>���r���r���r!���r ���r"���)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@���sX���� zParserBase.parse_declarationr���c�������������C���s����|�j�}|�j|d�|�\}}|dk�r&|S�|d kr@tj||d��}n4|dkrZtj||d��}n|�jd||d�|�����|s|dS�|r�|jd�}|�j||d�|����|jd�S�)N����r����temp�cdata�ignore�include�rcdata�if�else�endifz+unknown status keyword %r in marked sectionr���>���r7���r6���r5���r3���r4���>���r8���r9���r:���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$|�jd��tj||d��}|s<dS�|r`|jd�}|�j||d�|����|jd�S�)N����z<!--z"unexpected call to parse_comment()r���r���r"���)r���r���� _commentcloser<���r>���Zhandle_commentr*���)r���r���r?���r���r@���r���r���r���r���r$�������s���� zParserBase.parse_commentc������� ������C���s4��|�j�}t|�}|}�x||k��r.||�}|dk�r4|||d���}|dkrNdS�|dkrt|�j||d���|�jd|���|d�|kr�dS�|d�|kr�dS�|||d���dkr�|�j|dd �}|dk�r|S�q|�j|d�|�\}}|dkr�dS�|dk�r|�j||d���|�jd|���t|�d|��} | ||�}|dk��r,|S�q|dk�r�|d�|k�rPdS�|�j|d�|�\}}|dk��rr|S�||�dk�r,|d�}q|dk�r�|d�}x&||k��r�||�j���r�|d�}�q�W�||k��r�||�dk�r�|S�|�j||��|�jd��ndS�q|j���r|d�}q|�j||��|�jd|���qW�dS�)N�<r���r���z<!z*unexpected char in internal subset (in %r)rA���z<!--r���)r?���r���r!����entity�notationz)unknown declaration %r in internal subsetZ_parse_doctype_�%�;�]r���z%unexpected char after internal subsetz%unexpected char %r in internal subsetr"���r"���r"���r"���r"���>���r���r!���rD���rE���r"���r"���r"���)r���r#���r���r���r$���r&����getattr�isspace) r���r����declstartposr���r,���r���r-����sr0����methr���r���r���r+�������sn���� z ParserBase._parse_doctype_subsetc�������������C���sF���|�j�||�\}}|dkrdS�|�j}d||d���krB|jd|�d�S�dS�)Nr���r���r"���r"���r"���)r&���r����find)r���r���rK���r0���r���r���r���r���r����_parse_doctype_element����s����z!ParserBase._parse_doctype_elementc�������������C���s���|�j�}|�j||�\}}|||d���}|dkr2d S�|dkrB|d�S��xv|�j||�\}}|dk�rb|S�|||d���}|dkr~d S�|dkr�d||d���kr�|jd|�d�}ndS�x |||d���j��r�|d�}q�W�||d���s�dS�n|�j||�\}}|||d���}|�s d S�|dk�rLt||�}|�r.|j��}ndS�|||d���}|�sLdS�|dk�r�||d���dk�rldS�|�j|d�|�\}}|dk��r�|S�|||d���}|�s�dS�|dkrF|d�S�qFW�d�S�)Nr���r���r���r����(�)z'"�#r"���r"���r"���r"���r"���r"���r"���r"���r"���)r���r&���rN���rJ���r)���r*���)r���r���rK���r���r0���r���r-���r/���r���r���r����_parse_doctype_attlist��sZ���� z!ParserBase._parse_doctype_attlistc�������������C���s����|�j�||�\}}|dk�r|S�|�j}xl|||d���}|s<dS�|dkrL|d�S�|dkrpt||�}|sfdS�|j��}q$|�j�||�\}}|dk�r$|S�q$W�d�S�)Nr���r���r���z'"r"���r"���)r&���r���r)���r*���)r���r���rK���r0���r���r���r-���r/���r���r���r����_parse_doctype_notation=��s$���� z"ParserBase._parse_doctype_notationc�������������C���s����|�j�}|||d���dkrV|d�}x6|||d���}|s<dS�|j��rN|d�}q$P�q$W�n|}|�j||�\}}|dk�rv|S�xp|�j�||d���}|s�dS�|dkr�t||�}|r�|j��}q�dS�qx|dkr�|d�S�|�j||�\}}|dk�rx|S�qxW�d�S�) Nr���rF���r���z'"r���r"���r"���r"���)r���rJ���r&���r)���r*���)r���r���rK���r���r���r-���r0���r/���r���r���r����_parse_doctype_entityT��s8���� z ParserBase._parse_doctype_entityc�������������C���s����|�j�}t|�}||krdS�t||�}|r\|j��}|j��}|t|��|krLdS�|j��|j��fS�|�j||��|�jd|||d������d�S�)Nr���zexpected name token at %r����r"���)Nr"���r"���)Nr"���) r���r#����_declname_match�group�strip�lowerr*���r���r���)r���r���rK���r���r,���r/���rL���r0���r���r���r���r&���x��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'���r1���r%���r$���r+���rO���rS���rT���rU���r&���r(���r���r���r���r���r������s"��� R C9$r���) r^����re�compiler@���rW���r)���rB���r;���r=���r���r���r���r���r����<module>���s���