Edit File: parser.cpython-36.opt-2.pyc
3 � \AE������������������@���s����d�dl�Z�d�dlZd�dlZd�dlmZ�dgZe�jd�Ze�jd�Ze�jd�Z e�jd�Z e�jd�Ze�jd �Ze�jd �Z e�jd�Ze�jd�Ze�jd e�j�Ze�jd �Ze�jd�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 comma )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c���������������@���s����e�Zd�Zd9Zdd�dd�Zdd��Zd d ��Zdd��Zd Zdd��Z dd��Z dd��Zdd��Zdd��Z d:dd�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����script�styleT)�convert_charrefsc������������C���s���||�_�|�j���d�S�)N)r����reset)�selfr�����r ����#/usr/lib64/python3.6/html/parser.py�__init__W���s����zHTMLParser.__init__c�������������C���s(���d|�_�d|�_t|�_d�|�_tjj|���d�S�)N��z???)�rawdata�lasttag�interesting_normal�interesting� cdata_elem�_markupbase� ParserBaser���)r ���r ���r ���r���r���`���s ����zHTMLParser.resetc�������������C���s���|�j�|�|�_�|�jd��d�S�)Nr���)r����goahead)r ����datar ���r ���r����feedh���s����zHTMLParser.feedc�������������C���s���|�j�d��d�S�)N����)r���)r ���r ���r ���r����closeq���s����zHTMLParser.closeNc�������������C���s���|�j�S�)N)�_HTMLParser__starttag_text)r ���r ���r ���r����get_starttag_textw���s����zHTMLParser.get_starttag_textc�������������C���s$���|j���|�_tjd|�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���sL��|�j�}d}t|�}�x�||k��r�|�jr||�j�r||jd|�}|dk�r�|jdt||d���}|dkrvtjd�j ||��rvP�|}n(|�j j ||�}|r�|j��}n|�jr�P�|}||k�r�|�jr�|�j�r�|�jt |||�����n|�j|||����|�j||�}||kr�P�|j}|d|��rLtj||��r&|�j|�} n�|d|��r>|�j|�} nl|d|��rV|�j|�} nT|d|��rn|�j|�} n<|d |��r�|�j|�} n$|d �|k��r�|�jd��|d �} nP�| dk��r>|�s�P�|jd|d ��} | dk��r�|jd|d ��} | dk��r|d �} n| d 7�} |�j�r,|�j��r,|�jt ||| �����n|�j||| ����|�j|| �}q|d|��r�tj||�}|�r�|j��d d��} |�j| ��|j��} |d| d ���s�| d �} |�j|| �}qn:d||d���k�r�|�j|||d �����|�j||d ��}P�q|d|�rtj||�}|�rN|jd �} |�j| ��|j��} |d| d ���s@| d �} |�j|| �}qtj||�}|�r�|�r�|j��||d���k�r�|j��} | |k�r�|} |�j||d ��}P�n,|d �|k��r�|�jd��|�j||d ��}nP�qqW�|�r:||k��r:|�j��r:|�j�r|�j��r|�jt |||�����n|�j|||����|�j||�}||d���|�_�d�S�)Nr����<�&�"���z[\s;]z</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�jZampposr2���r0����k�namer ���r ���r���r�������s����� � zHTMLParser.goaheadc�������������C���s����|�j�}|||d���dkr$|�j|�S�|||d���dkrB|�j|�S�|||d���j��dkr�|jd|d��}|d krvdS�|�j||d �|����|d�S�|�j|�S�d�S�)N����z<!--����z<![� ���z <!doctyper���r���r&���r(���r(���)r���r5���Zparse_marked_sectionr���r*����handle_decl�parse_bogus_comment)r ���r?���r����gtposr ���r ���r���r7������s���� z!HTMLParser.parse_html_declarationr���c�������������C���sD���|�j�}|jd|d��}|dkr"dS�|r<|�j||d�|����|d�S�)Nr���r&���r���r(���r(���)r���r*����handle_comment)r ���r?���Zreportr����posr ���r ���r���rH�����s����zHTMLParser.parse_bogus_commentc�������������C���sH���|�j�}tj||d��}|sdS�|j��}|�j||d�|����|j��}|S�)Nr&���r���r(���)r����picloser-���r.���� handle_pir;���)r ���r?���r���r2���rA���r ���r ���r���r6���!��s����zHTMLParser.parse_pic�������������C���s���d�|�_�|�j|�}|dk�r|S�|�j}|||��|�_�g�}tj||d��}|j��}|jd�j���|�_}x�||k��r$t j||�}|s~P�|jddd�\} } }| s�d�}n^|d�d��d��ko�|d d���kn��s�|d�d��d��ko�|dd���kn����r�|dd��}|�rt |�}|j| j��|f��|j��}qbW�|||��j��}|d k�r�|�j ��\} }d |�j�k�r�| |�j�jd ��} t|�j��|�j�jd ��}n|t|�j���}|�j|||����|S�|jd��r�|�j||��n"|�j||��||�jk�r�|�j|��|S�)Nr���r���r&���rE����'�"r����/>� r(���r(���r(���)r���rP���)r����check_for_whole_start_tagr����tagfind_tolerantr2���r;���r9���r���r����attrfind_tolerantr����append�stripZgetpos�countr)���r+���r/����endswith�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSr!���)r ���r?����endposr����attrsr2���rB����tag�mZattrname�restZ attrvaluer;����lineno�offsetr ���r ���r���r3���-��sP���� (* zHTMLParser.parse_starttagc�������������C���s����|�j�}tj||�}|r�|j��}|||d���}|dkr>|d�S�|dkr~|jd|�rZ|d�S�|jd|�rjd S�||krv|S�|d�S�|dkr�d S�|dkr�dS�||kr�|S�|d�S�td��d�S�)Nr���r����/z/>r&���r ���z6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!r(���r(���r(���)r����locatestarttagend_tolerantr2���r;���r0����AssertionError)r ���r?���r���r_���rA����nextr ���r ���r���rR���`��s.����z$HTMLParser.check_for_whole_start_tagc�������������C���s��|�j�}tj||d��}|sdS�|j��}tj||�}|s�|�jd�k rV|�j|||����|S�tj||d��}|s�|||d���dkr�|d�S�|�j |�S�|j d�j��}|jd|j���}|�j |��|d�S�|j d�j��}|�jd�k ��r�||�jk��r�|�j|||����|S�|�j |j����|�j���|S�)Nr���r&���rE���z</>r���r(���)r���� endendtagr-���r;���� endtagfindr2���r���r/���rS���rH���r9���r���r*���� handle_endtagr"���)r ���r?���r���r2���rI���Z namematchZtagnamer ���r ���r ���r���r4������s6���� zHTMLParser.parse_endtagc�������������C���s���|�j�||��|�j|��d�S�)N)rZ���ri���)r ���r^���r]���r ���r ���r���rY������s����zHTMLParser.handle_startendtagc�������������C���s���d�S�)Nr ���)r ���r^���r]���r ���r ���r���rZ������s����zHTMLParser.handle_starttagc�������������C���s���d�S�)Nr ���)r ���r^���r ���r ���r���ri������s����zHTMLParser.handle_endtagc�������������C���s���d�S�)Nr ���)r ���rC���r ���r ���r���r:������s����zHTMLParser.handle_charrefc�������������C���s���d�S�)Nr ���)r ���rC���r ���r ���r���r=������s����zHTMLParser.handle_entityrefc�������������C���s���d�S�)Nr ���)r ���r���r ���r ���r���r/������s����zHTMLParser.handle_datac�������������C���s���d�S�)Nr ���)r ���r���r ���r ���r���rJ������s����zHTMLParser.handle_commentc�������������C���s���d�S�)Nr ���)r ���Zdeclr ���r ���r���rG������s����zHTMLParser.handle_declc�������������C���s���d�S�)Nr ���)r ���r���r ���r ���r���rM������s����zHTMLParser.handle_pic�������������C���s���d�S�)Nr ���)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���r���)r���)�__name__� __module__�__qualname__r[���r���r���r���r���r���r���r!���r"���r���r7���rH���r6���r3���rR���r4���rY���rZ���ri���r:���r=���r/���rJ���rG���rM���rj���r���r ���r ���r ���r���r���?���s6��� z 3"()r���rl���r���Zhtmlr����__all__r���r���r>���r<���r8���r1���rL���ZcommentcloserS���rT����VERBOSErd���rg���rh���r���r���r ���r ���r ���r����<module>���s&���