관리-도구
편집 파일: parser.cpython-39.opt-2.pyc
a �����DOg�C����������������������@���s����d�dl�Z�d�dlZd�dlmZ�dgZe��d�Ze��d�Ze��d�Ze��d�Z e��d�Z e��d �Ze��d �Ze��d�Z e��d�Ze��d e�j�Ze��d �Ze��d�ZG�dd��dej�ZdS�)�����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�ZdZdd�dd�Zdd��Zdd ��Zd d��ZdZd d��Z dd��Z dd��Zdd��Zdd��Z d6dd�Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,d-��Zd.d/��Zd0d1��Zd2d3��Zd4d5��ZdS�)7r���)Zscript�styleT)�convert_charrefsc����������������C���s���||�_�|�����d�S��N)r����reset)�selfr�����r ����#/usr/lib64/python3.9/html/parser.py�__init__V���s����zHTMLParser.__init__c�����������������C���s(���d|�_�d|�_t|�_d�|�_tj�|���d�S�)N��z???)�rawdata�lasttag�interesting_normal�interesting� cdata_elem�_markupbase� ParserBaser����r ���r ���r ���r���r���_���s ����zHTMLParser.resetc�����������������C���s���|�j�|�|�_�|��d��d�S�)Nr���)r����goahead�r ����datar ���r ���r����feedg���s����zHTMLParser.feedc�����������������C���s���|���d��d�S�)N����)r���r���r ���r ���r����closep���s����zHTMLParser.closeNc�����������������C���s���|�j�S�r���)�_HTMLParser__starttag_textr���r ���r ���r����get_starttag_textv���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_modez���s���� zHTMLParser.set_cdata_modec�����������������C���s���t�|�_d�|�_d�S�r���)r���r���r���r���r ���r ���r����clear_cdata_mode~���s����zHTMLParser.clear_cdata_modec�����������������C���sJ��|�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���v��r�|��|||d �����|��||d ��}�q�q|d|�rt�||�}|�rN|�d �} |��| ��|���} |d| d ���s@| d �} |��|| �}qt�||�}|�r�|�r�|���||d���k�r�|���} | |k�r�|} |��||d ��}�q�n.|d �|k��r�|��d��|��||d ��}n�q�qq|�r8||k��r8|�j�s8|�j�r|�j�s|��t |||�����n|��|||����|��||�}||d���|�_�d�S�)Nr����<�&�"���z[\s;]z</�<!--z<?z<!r���r���z&#��������;)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)r ���r>���r����i�n�jZampposr5���r3����k�namer ���r ���r���r�������s����� � zHTMLParser.goaheadc�����������������C���s����|�j�}|||d���dkr$|��|�S�|||d���dkrB|��|�S�|||d������dkr�|�d|d��}|dkrvdS�|��||d �|����|d �S�|��|�S�d�S�)N����r(�������z<![� ���z <!doctyper���r*���r)���r���)r���r8���Zparse_marked_sectionr���r-����handle_decl�parse_bogus_comment)r ���rB���r����gtposr ���r ���r���r:�������s���� z!HTMLParser.parse_html_declarationr���c�����������������C���sD���|�j�}|�d|d��}|dkr"dS�|r<|��||d�|����|d�S�)Nr���r)���r*���r���)r���r-����handle_comment)r ���rB����reportr����posr ���r ���r���rK�����s����zHTMLParser.parse_bogus_commentc�����������������C���sH���|�j�}t�||d��}|sdS�|���}|��||d�|����|���}|S�)Nr)���r*���)r����picloser0���r1���� handle_pir>���)r ���rB���r���r5���rD���r ���r ���r���r9��� ��s����zHTMLParser.parse_pic�����������������C���s���d�|�_�|��|�}|dk�r|S�|�j}|||��|�_�g�}t�||d��}|���}|�d�����|�_}||k��r t �||�}|s~�q |�ddd�\} } }| s�d�}nZ|d�d��d��kr�|dd���ks�n�|d�d��d��kr�|dd���kr�n�n|dd��}|�rt |�}|�| ���|f��|���}q`|||�����}|dv�r�|�� ��\} }d |�j�v��rz| |�j��d ��} t|�j��|�j��d ��}n|t|�j���}|��|||����|S�|�d ��r�|��||��n"|��||��||�jv��r�|��|��|S�)Nr���r���r)���rH����'r*����")r����/>� rT���)r����check_for_whole_start_tagr����tagfind_tolerantr5���r>���r<���r���r����attrfind_tolerantr����append�stripZgetpos�countr,���r.���r2����endswith�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSr#���)r ���rB����endposr����attrsr5���rE����tag�m�attrname�restZ attrvaluer>����lineno�offsetr ���r ���r���r6���,��sX���� &� � � 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�|dv�r�dS�||kr�|S�|d�S�td ��d�S�) Nr���r����/rT���r)���r*���r ���z6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)r����locatestarttagend_tolerantr5���r>���r3����AssertionError)r ���rB���r���rc���rD����nextr ���r ���r���rV���_��s.����z$HTMLParser.check_for_whole_start_tagc�����������������C���s��|�j�}t�||d��}|sdS�|���}t�||�}|s�|�jd�urV|��|||����|S�t�||d��}|s�|||d���dkr�|d�S�|�� |�S�|� d����}|�d|����}|�� |��|d�S�|� d����}|�jd�ur�||�jkr�|��|||����|S�|�� |��|�����|S�)Nr���r*���r)���rH���z</>r���)r���� endendtagr0���r>���� endtagfindr5���r���r2���rW���rK���r<���r���r-���� handle_endtagr$���)r ���rB���r���r5���rL���Z namematchZtagnamer"���r ���r ���r���r7������s6���� zHTMLParser.parse_endtagc�����������������C���s���|���||��|��|��d�S�r���)r^���rn����r ���rb���ra���r ���r ���r���r]������s����zHTMLParser.handle_startendtagc�����������������C���s���d�S�r���r ���ro���r ���r ���r���r^������s����zHTMLParser.handle_starttagc�����������������C���s���d�S�r���r ���)r ���rb���r ���r ���r���rn������s����zHTMLParser.handle_endtagc�����������������C���s���d�S�r���r ����r ���rF���r ���r ���r���r=������s����zHTMLParser.handle_charrefc�����������������C���s���d�S�r���r ���rp���r ���r ���r���r@������s����zHTMLParser.handle_entityrefc�����������������C���s���d�S�r���r ���r���r ���r ���r���r2������s����zHTMLParser.handle_datac�����������������C���s���d�S�r���r ���r���r ���r ���r���rM������s����zHTMLParser.handle_commentc�����������������C���s���d�S�r���r ���)r ���Zdeclr ���r ���r���rJ������s����zHTMLParser.handle_declc�����������������C���s���d�S�r���r ���r���r ���r ���r���rQ������s����zHTMLParser.handle_pic�����������������C���s���d�S�r���r ���r���r ���r ���r����unknown_decl���s����zHTMLParser.unknown_decl)r���)�__name__� __module__�__qualname__r_���r���r���r���r���r���r���r#���r$���r���r:���rK���r9���r6���rV���r7���r]���r^���rn���r=���r@���r2���rM���rJ���rQ���rq���r ���r ���r ���r���r���>���s4��� z 3"()r���r���Zhtmlr����__all__r ���r���rA���r?���r;���r4���rP���ZcommentcloserW���rX����VERBOSEri���rl���rm���r���r���r ���r ���r ���r����<module>���s(��� ��