Şuanki Dizin: /usr/lib64/python3.9/html/__pycache__/ |
Şuanki Dosya : //usr/lib64/python3.9/html/__pycache__/parser.cpython-39.opt-1.pyc |
a �DOg�C�@s�dZddlZddlZddlmZdgZe�d�Ze�d�Ze�d�Z e�d�Z e�d �Ze�d �Ze�d�Z e�d�Ze�d �Ze�dej�Ze�d �Ze�d�ZGdd�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�eZdZdZdZdd�dd�Zdd�Zd d �Zdd�Zd Z dd�Z dd�Zdd�Zdd�Z dd�Zd7dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd S)8raEFind 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. )Zscript�styleT)�convert_charrefscCs||_|��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.9/html/parser.py�__init__VszHTMLParser.__init__cCs(d|_d|_t|_d|_tj�|�dS)z1Reset this instance. Loses all unprocessed data.�z???N)�rawdata�lasttag�interesting_normal�interesting� cdata_elem�_markupbase� ParserBaser�rr r r r_s zHTMLParser.resetcCs|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'). rN)r �goahead�r�datar r r �feedgszHTMLParser.feedcCs|�d�dS)zHandle any buffered data.�N)rrr r r �closepszHTMLParser.closeNcCs|jS)z)Return full source of start tag: '<...>'.)�_HTMLParser__starttag_textrr r r �get_starttag_textvszHTMLParser.get_starttag_textcCs$|��|_t�d|jtj�|_dS)Nz</\s*%s\s*>)�lowerr�re�compile�Ir)r�elemr r r �set_cdata_modezs zHTMLParser.set_cdata_modecCst|_d|_dS�N)rrrrr r r �clear_cdata_mode~szHTMLParser.clear_cdata_modecCsJ|j}d}t|�}||k�r�|jrv|jsv|�d|�}|dkr�|�dt||d��}|dkrpt�d�� ||�sp�q�|}n*|j � ||�}|r�|��}n|jr��q�|}||kr�|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�|_dS)Nr�<�&�"z[\s;]z</�<!--z<?z<!rrz&#�����;)r �lenrr�find�rfind�maxrr�searchr�start�handle_datarZ updatepos� startswith�starttagopen�match�parse_starttag�parse_endtag� parse_comment�parse_pi�parse_html_declaration�charref�group�handle_charref�end� entityref�handle_entityref� incomplete)rr>r �i�n�jZampposr5r3�k�namer r r r�s� � zHTMLParser.goaheadcCs�|j}|||d�dkr$|�|�S|||d�dkrB|�|�S|||d���dkr�|�d|d�}|dkrvdS|�||d |��|d S|�|�SdS)N�r(�z<![� z <!doctyperr*r)r)r r8Zparse_marked_sectionrr-�handle_decl�parse_bogus_comment)rrBr �gtposr r r r:�s z!HTMLParser.parse_html_declarationrcCsD|j}|�d|d�}|dkr"dS|r<|�||d|��|dS)Nrr)r*r)r r-�handle_comment)rrB�reportr �posr r r rKszHTMLParser.parse_bogus_commentcCsH|j}t�||d�}|sdS|��}|�||d|��|��}|S)Nr)r*)r �picloser0r1� handle_pir>)rrBr r5rDr r r r9 szHTMLParser.parse_picCs�d|_|�|�}|dkr|S|j}|||�|_g}t�||d�}|��}|�d���|_}||k�r t �||�}|s~�q |�ddd�\} } }| s�d}nZ|dd�dkr�|dd�ks�n|dd�dkr�|dd�kr�nn|dd�}|�rt |�}|�| ��|f�|��}q`|||���}|dv�r�|� �\} }d |jv�rz| |j�d �} t|j�|j�d �}n|t|j�}|�|||��|S|�d ��r�|�||�n"|�||�||jv�r�|�|�|S)Nrrr)rH�'r*�")r�/>� rT)r�check_for_whole_start_tagr �tagfind_tolerantr5r>r<rr�attrfind_tolerantr�append�stripZgetpos�countr,r.r2�endswith�handle_startendtag�handle_starttag�CDATA_CONTENT_ELEMENTSr")rrB�endposr �attrsr5rE�tag�m�attrname�restZ attrvaluer>�lineno�offsetr r r r6,sX &� � � zHTMLParser.parse_starttagcCs�|j}t�||�}|r�|��}|||d�}|dkr>|dS|dkr~|�d|�rZ|dS|�d|�rjdS||krv|S|dS|dkr�dS|dvr�dS||kr�|S|dStd ��dS) Nrr�/rTr)r*rz6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZzwe should not get here!)r �locatestarttagend_tolerantr5r>r3�AssertionError)rrBr rcrD�nextr r r rV_s.z$HTMLParser.check_for_whole_start_tagcCs|j}t�||d�}|sdS|��}t�||�}|s�|jdurV|�|||��|St�||d�}|s�|||d�dkr�|dS|� |�S|� d���}|�d|���}|� |�|dS|� d���}|jdur�||jkr�|�|||��|S|� |�|��|S)Nrr*r)rHz</>r)r � endendtagr0r>� endtagfindr5rr2rWrKr<rr-� handle_endtagr$)rrBr r5rLZ namematchZtagnamer!r r r r7�s6 zHTMLParser.parse_endtagcCs|�||�|�|�dSr#)r^rn�rrbrar r r r]�szHTMLParser.handle_startendtagcCsdSr#r ror r r r^�szHTMLParser.handle_starttagcCsdSr#r )rrbr r r rn�szHTMLParser.handle_endtagcCsdSr#r �rrFr r r r=�szHTMLParser.handle_charrefcCsdSr#r rpr r r r@�szHTMLParser.handle_entityrefcCsdSr#r rr r r r2�szHTMLParser.handle_datacCsdSr#r rr r r rM�szHTMLParser.handle_commentcCsdSr#r )rZdeclr r r rJ�szHTMLParser.handle_declcCsdSr#r rr r r rQ�szHTMLParser.handle_picCsdSr#r rr r r �unknown_decl�szHTMLParser.unknown_decl)r)�__name__� __module__�__qualname__�__doc__r_rrrrrrr"r$rr:rKr9r6rVr7r]r^rnr=r@r2rMrJrQrqr r r r r>s6 z 3"()rurrZhtmlr�__all__rrrAr?r;r4rPZcommentcloserWrX�VERBOSErirlrmrrr r r r �<module>s* ��
Linux 65-254-81-4.cprapid.com 5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 9 05:49:00 EDT 2023 x86_64
Apache
65.254.81.4