OwlCyberSecurity - MANAGER
Edit File: parser.cpython-38.pyc
U ����e5d9E����������������������@���s����d�Z�ddlZddlZddlZddlmZ�dgZe�d�Ze�d�Z e�d�Z e�d�Ze�d �Ze�d �Z e�d�Ze�d�Ze�d �Ze�dej�Ze�d �Ze�d�ZG�dd��dej�ZdS�)zA parser for HTML and XHTML.�����N)�unescape� HTMLParserz[&<]z &[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z <[a-zA-Z]�>z--\s*>z+([a-zA-Z][^\t\n\r\f />\x00]*)(?:\s|/(?!>))*z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*aF�� <[a-zA-Z][^\t\n\r\f />\x00]* # tag name (?:[\s/]* # optional whitespace before attribute name (?:(?<=['"\s/])[^\s/>][^\s/=>]* # attribute name (?:\s*=+\s* # value indicator (?:'[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\s]* # bare value ) \s* # possibly followed by a space )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c�������������������@���s����e�Zd�ZdZdZdd�dd�Zdd��Zd d ��Zdd��Zd Z dd��Z dd��Zdd��Zdd��Z dd��Zd9dd�Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd1d2��Zd3d4��Zd5d6��Zd7d8��Zd S�):r���aE��Find tags and other markup and call handler functions. Usage: p = HTMLParser() p.feed(data) ... p.close() Start tags are handled by calling self.handle_starttag() or self.handle_startendtag(); end tags by self.handle_endtag(). The data between tags is passed from the parser to the derived class by calling self.handle_data() with the data as argument (the data may be split up in arbitrary chunks). If convert_charrefs is True the character references are converted automatically to the corresponding Unicode character (and self.handle_data() is no longer split in chunks), otherwise they are passed by calling self.handle_entityref() or self.handle_charref() with the string containing respectively the named or numeric reference as the argument. )ZscriptZstyleT)�convert_charrefsc����������������C���s���||�_�|�����dS�)z�Initialize and reset this instance. If convert_charrefs is True (the default), all character references are automatically converted to the corresponding Unicode characters. N)r����reset)�selfr�����r����#/usr/lib64/python3.8/html/parser.py�__init__W���s����zHTMLParser.__init__c�����������������C���s(���d|�_�d|�_t|�_d|�_tj�|���dS�)z1Reset this instance. Loses all unprocessed data.��z???N)�rawdata�lasttag�interesting_normal�interesting� cdata_elem�_markupbase� ParserBaser����r���r���r���r ���r���`���s ����zHTMLParser.resetc�����������������C���s���|�j�|�|�_�|��d��dS�)z�Feed data to the parser. Call this as often as you want, with as little or as much text as you want (may include '\n'). r���N)r����goahead�r����datar���r���r ����feedh���s����zHTMLParser.feedc�����������������C���s���|���d��dS�)zHandle any buffered data.����N)r���r���r���r���r ����closeq���s����zHTMLParser.closeNc�����������������C���s���|�j�S�)z)Return full source of start tag: '<...>'.)�_HTMLParser__starttag_textr���r���r���r ����get_starttag_textw���s����zHTMLParser.get_starttag_textc�����������������C���s$���|����|�_t�d|�j�tj�|�_d�S�)Nz</\s*%s\s*>)�lowerr����re�compile�Ir���)r����elemr���r���r ����set_cdata_mode{���s���� zHTMLParser.set_cdata_modec�����������������C���s���t�|�_d�|�_d�S��N)r���r���r���r���r���r���r ����clear_cdata_mode���s����zHTMLParser.clear_cdata_modec�����������������C���sX��|�j�}d}t|�}||k��r�|�jrv|�jsv|�d|�}|dk�r�|�dt||d���}|dkrpt�d�� ||�sp�q�|}n*|�j � ||�}|r�|���}n|�jr��q�|}||k�r�|�jr�|�js�|��t |||�����n|��|||����|��||�}||kr��q�|j}|d|��rJt�||��r"|��|�} n�|d|��r:|��|�} nn|d|��rR|��|�} nV|d|��rj|��|�} n>|d |��r�|��|�} n&|d �|k��r�|��d��|d �} n�q�| dk��r<|�s��q�|�d|d ��} | dk��r�|�d|d ��} | dk��r|d �} n| d 7�} |�j�r*|�j�s*|��t ||| �����n|��||| ����|��|| �}q|d|��r�t�||�}|�r�|���d d��} |��| ��|���} |d| d ���s�| d �} |��|| �}qn<d||d���k�r�|��|||d �����|��||d ��}�q�q|d|��r�t�||�}|�rP|�d �} |��| ��|���} |d| d ���sB| d �} |��|| �}qt�||�}|�r�|�r�|���||d���k�r�|���} | |k�r�|} |��||d ��}�q�n.|d �|k��r�|��d��|��||d ��}n�q�qdstd��q|�rF||k��rF|�j�sF|�j�r(|�j�s(|��t |||�����n|��|||����|��||�}||d���|�_�d�S�)Nr����<�&�"���z[\s;]�</�<!--�<?�<!r���r���z&#��������;zinteresting.search() lied)r����lenr���r����find�rfind�maxr���r����searchr����start�handle_datar���Z updatepos� startswith�starttagopen�match�parse_starttag�parse_endtag� parse_comment�parse_pi�parse_html_declaration�charref�group�handle_charref�end� entityref�handle_entityref� incomplete�AssertionError)r���r@���r����i�n�jZampposr7���r5����k�namer���r���r ���r�������s����� � � zHTMLParser.goaheadc�����������������C���s����|�j�}|||d���dks"td��|||d���dkr@|��|�S�|||d���dkr^|��|�S�|||d������d kr�|�d |d��}|dkr�dS�|��||d�|����|d�S�|��|�S�d�S�) Nr+���r*���z+unexpected call to parse_html_declaration()����r(�������z<![� ���z <!doctyper���r,���r���)r���rD���r:���Zparse_marked_sectionr���r/����handle_decl�parse_bogus_comment)r���rE���r����gtposr���r���r ���r<������s���� z!HTMLParser.parse_html_declarationr���c�����������������C���s`���|�j�}|||d���dks"td��|�d|d��}|dkr>dS�|rX|��||d�|����|d�S�)Nr+���)r*���r'���z"unexpected call to parse_comment()r���r,���r���)r���rD���r/����handle_comment)r���rE���Zreportr����posr���r���r ���rN�����s����zHTMLParser.parse_bogus_commentc�����������������C���sd���|�j�}|||d���dks"td��t�||d��}|s:dS�|���}|��||d�|����|���}|S�)Nr+���r)���zunexpected call to parse_pi()r,���)r���rD����picloser2���r3���� handle_pir@���)r���rE���r���r7���rG���r���r���r ���r;���!��s����zHTMLParser.parse_pic�����������������C���s���d�|�_�|��|�}|dk�r|S�|�j}|||��|�_�g�}t�||d��}|sPtd��|���}|�d�����|�_ }||k��r.t �||�}|s��q.|�ddd�\} } }| s�d�}n\|d�d��d��kr�|dd���ks�n�|d�d��d��kr�|dd���k�rn�n|dd��}|�rt|�}|�| ���|f��|���}ql|||��� ��}|d k�r�|����\} }d |�j�k�r�| |�j��d ��} t|�j��|�j��d ��}n|t|�j���}|��|||����|S�|�d��r�|��||��n"|��||��||�jk�r�|��|��|S�)Nr���r���z#unexpected call to parse_starttag()r+���rK����'r,����")r����/>� rV���)r����check_for_whole_start_tagr����tagfind_tolerantr7���rD���r@���r>���r���r ����attrfind_tolerantr����append�stripZgetpos�countr.���r0���r4����endswith�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSr!���)r���rE����endposr����attrsr7���rH����tag�m�attrname�restZ attrvaluer@����lineno�offsetr���r���r ���r8���-��s\���� & �� � � zHTMLParser.parse_starttagc�����������������C���s����|�j�}t�||�}|r�|���}|||d���}|dkr>|d�S�|dkr~|�d|�rZ|d�S�|�d|�rjdS�||krv|S�|d�S�|dkr�dS�|dkr�dS�||kr�|S�|d�S�td ��d�S�) Nr���r����/rV���r+���r,���r���z6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)r����locatestarttagend_tolerantr7���r@���r5���rD���)r���rE���r���re���rG����nextr���r���r ���rX���`��s.����z$HTMLParser.check_for_whole_start_tagc�����������������C���s.��|�j�}|||d���dks"td��t�||d��}|s:dS�|���}t�||�}|s�|�jd�k rr|��|||����|S�t �||d��}|s�|||d���dkr�|d�S�|�� |�S�|�d����}|� d|����}|��|��|d�S�|�d����}|�jd�k �r||�jk�r|��|||����|S�|��|��|�����|S�) Nr+���r'���zunexpected call to parse_endtagr���r,���rK���z</>r���)r���rD���� endendtagr2���r@���� endtagfindr7���r���r4���rY���rN���r>���r���r/���� handle_endtagr#���)r���rE���r���r7���rO���Z namematchZtagnamer ���r���r���r ���r9������s8���� zHTMLParser.parse_endtagc�����������������C���s���|���||��|��|��d�S�r"���)r`���ro����r���rd���rc���r���r���r ���r_������s����zHTMLParser.handle_startendtagc�����������������C���s���d�S�r"���r���rp���r���r���r ���r`������s����zHTMLParser.handle_starttagc�����������������C���s���d�S�r"���r���)r���rd���r���r���r ���ro������s����zHTMLParser.handle_endtagc�����������������C���s���d�S�r"���r����r���rI���r���r���r ���r?������s����zHTMLParser.handle_charrefc�����������������C���s���d�S�r"���r���rq���r���r���r ���rB������s����zHTMLParser.handle_entityrefc�����������������C���s���d�S�r"���r���r���r���r���r ���r4������s����zHTMLParser.handle_datac�����������������C���s���d�S�r"���r���r���r���r���r ���rP������s����zHTMLParser.handle_commentc�����������������C���s���d�S�r"���r���)r���Zdeclr���r���r ���rM������s����zHTMLParser.handle_declc�����������������C���s���d�S�r"���r���r���r���r���r ���rS������s����zHTMLParser.handle_pic�����������������C���s���d�S�r"���r���r���r���r���r ����unknown_decl���s����zHTMLParser.unknown_declc�����������������C���s���t�jdtdd��t|�S�)NzZThe unescape method is deprecated and will be removed in 3.5, use html.unescape() instead.r+���)� stacklevel)�warnings�warn�DeprecationWarningr���)r����sr���r���r ���r������s ������zHTMLParser.unescape)r���)�__name__� __module__�__qualname__�__doc__ra���r ���r���r���r���r���r���r!���r#���r���r<���rN���r;���r8���rX���r9���r_���r`���ro���r?���rB���r4���rP���rM���rS���rr���r���r���r���r���r ���r���?���s8��� z 3"()r{���r���rt���r���Zhtmlr����__all__r���r���rC���rA���r=���r6���rR���ZcommentcloserY���rZ����VERBOSErk���rm���rn���r���r���r���r���r���r ����<module>���s,��� ��