U
iÛf9 ã @ 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Ú|| }|dkr||d |… }|dkr| |¡ n
| |¡ |d S |d
kr