File: //usr/lib64/python3.8/__pycache__/_markupbase.cpython-38.pyc
U
e5d9 @ sV d Z ddlZedjZedjZedZedZedZ[G dd d Z dS )
zShared 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#ddZd$ddZdd 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 tkrtdd S )Nz)_markupbase.ParserBase must be subclassed) __class__r RuntimeErrorself r #/usr/lib64/python3.8/_markupbase.py__init__ s
zParserBase.__init__c C s t dd 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 linenooffsetr 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
)rawdatacountr rindexr )r ijr Znlinesposr 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 |dkrd| _||k r|| }|dkr||d | }|dkr| | n
| | |d S |d
kr<t ||}|s2dS |
}n|dkrX| ||\} }nt|| jkrn|d }n^|d kr|dkr| |d |}n$|dkr| d| n
| d n| d|| |d
k r|S qdS )N <!z$unexpected call to parse_declarationr
>)-r z--[r Zdoctyper z"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ> linktypeattlistelementlinkz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)
r AssertionErrorlen
parse_commentparse_marked_section
_scan_name_decl_othercharsZhandle_declunknown_decl_declstringlit_matchend_parse_doctype_subsetr )
r r r r nZdecltypecdatamnamer 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 | |sdS |r|d}| ||d | | dS ) N z<![z)unexpected call to parse_marked_section()r > rcdatatempignorecdatainclude> endifelseifz+unknown status keyword %r in marked sectionr )
r r&