https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/django/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/django/test/__pycache__/html.cpython-310.pyc
o

3�aL!�@svdZddlmZddlmZed�Zdd�ZGdd�d�ZGd	d
�d
e�ZGdd�de	�Z
Gd
d�de�Zdd�ZdS)zCompare two HTML documents.�)�
HTMLParser)�_lazy_re_compilez[\t\n\f\r ]+cCst�d|�S)N� )�ASCII_WHITESPACE�sub)�string�r�2/usr/lib/python3/dist-packages/django/test/html.py�normalize_whitespace
sr
c@sfeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zddd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�ElementcCs||_t|�|_g|_dS�N)�name�sorted�
attributes�children)�selfr
rrrr	�__init__s

zElement.__init__cCs�t|t�r*t|�}|jr)t|jdt�r)|jd|7<t|jd�|jd<dSn|jrAt|jdt�rA|jd��rA|j��|rK|j�|�dSdS�N���)�
isinstance�strr
r�isspace�pop�append�r�elementrrr	rs
�
�zElement.appendcsZ�fdd���|j�t|j�D]\}}t|t�r!|��|j|<qt|d�r*|��qdS)Ncs>|rt|dt�r|d��|d<|ds|���|�}|Sr)rr�rstripr�r��rstrip_last_elementrr	r(sz-Element.finalize.<locals>.rstrip_last_element�finalize)r�	enumeraterr�strip�hasattrr )r�i�childrrr	r 's


��zElement.finalizecCs�t|d�r|j|jkr
dSt|j�t|j�krdS|j|jkrNtt|j��D]'}|j|\}}|j|\}}|dur<|}|durB|}||ksJ||krMdSq&|j|jkS)Nr
F)r#r
�lenr�ranger)rrr$�attr�value�
other_attr�other_valuerrr	�__eq__7s �zElement.__eq__cCst|jg|j�R�Sr)�hashr
r�rrrr	�__hash__KszElement.__hash__TcCs�t|t�s||krdSt|t�r|j|jkrdSd}d}|jD]T}t|t�r=t|t�r<|r5||�|�7}q||vr<dSq||j||d�7}|sN|rN|St|t�rs|jrs|j|}||krq|d7}|t|j�krp|d7}d}qd}q|S)N�r��count)rr�RootElementrr2�_countr&)rrr2r$�elem_child_idxr%�
elem_childrrr	r4Ns8


�
��zElement._countcCs|j|dd�dkS)NFr1r�r4rrrr	�__contains__u�zElement.__contains__cCs|j|dd�S)NTr1r7rrrr	r2x�z
Element.countcCs
|j|Srr)r�keyrrr	�__getitem__{s
zElement.__getitem__cCs�d|j}|jD]\}}|r|d||f7}q|d|7}q|jr;|d7}|d�dd�|jD��7}|d|j7}|S|d	7}|S)
Nz<%sz %s="%s"z %sz>
�cs��|]}t|�VqdSr�r��.0�crrr	�	<genexpr>���z"Element.__str__.<locals>.<genexpr>z
</%s>�>)r
rr�join)r�outputr;r)rrr	�__str__~s
�zElement.__str__cCst|�Srr?r.rrr	�__repr__�szElement.__repr__N)T)�__name__�
__module__�__qualname__rrr r,r/r4r8r2r<rHrIrrrr	rs
'rcs$eZdZ�fdd�Zdd�Z�ZS)r3cst��dd�dS)Nr)�superrr.��	__class__rr	r�r9zRootElement.__init__cCsd�dd�|jD��S)Nr=csr>rr?r@rrr	rC�rDz&RootElement.__str__.<locals>.<genexpr>)rFrr.rrr	rH�szRootElement.__str__)rJrKrLrrH�
__classcell__rrrNr	r3�sr3c@seZdZdS)�HTMLParseErrorN)rJrKrLrrrr	rQ�srQcsbeZdZhd�Z�fdd�Zdd�Zddd�Zed	d
��Zdd�Z	d
d�Z
dd�Zdd�Z�Z
S)�Parser>�br�hr�col�img�wbr�area�base�link�meta�embed�frame�input�param�track�source�spacercs"t���t�|_g|_i|_dSr)rMrr3�root�	open_tags�element_positionsr.rNrr	r�s

zParser.__init__cCst||����r)rQ�getpos)r�msgrrr	�error�r:zParser.errorNcCs@|s	|r	|j|}|dur|��}t|d�r|j|jf}d|S)N�linenozLine %d, Column %d)rerfr#ri�offset)r�positionrrrr	�format_position�s

zParser.format_positioncCs|jr|jdS|jSr)rdrcr.rrr	�current�s
zParser.currentcCs(|�||�||jvr|�|�dSdSr)�handle_starttag�SELF_CLOSING_TAGS�
handle_endtag)r�tag�attrsrrr	�handle_startendtag�s
�zParser.handle_startendtagcCsLdd�|D�}t||�}|j�|�||jvr|j�|�|��|j|<dS)Nc
SsBg|]\}}|dkr|d�tdd�t�|�D���fn||f�qS)�classrcss�|]}|r|VqdSrr)rAr)rrr	rC�rDz4Parser.handle_starttag.<locals>.<listcomp>.<genexpr>)rFrr�split)rAr
r)rrr	�
<listcomp>�s�"��z*Parser.handle_starttag.<locals>.<listcomp>)rrmrrordrfre)rrqrrrrrr	rn�s�

zParser.handle_starttagcCsh|js|�d||��f�|j��}|j|kr2|js&|�d||��f�|j��}|j|ksdSdS)NzUnexpected end tag `%s` (%s))rdrhrlrr
)rrqrrrr	rp�s�

�
�zParser.handle_endtagcCs|j�|�dSr)rmr)r�datarrr	�handle_data�szParser.handle_data)NN)rJrKrLrorrhrl�propertyrmrsrnrprxrPrrrNr	rR�s
	
rRcCsRt�}|�|�|��|j}|��t|j�dkr't|jdt�s'|jd}|S)z�
    Take a string that contains HTML and turn it into a Python object structure
    that can be easily compared against other HTML on semantic equivalence.
    Syntactical differences like which quotation is used on arguments will be
    ignored.
    r0r)	rR�feed�closercr r&rrr)�html�parser�documentrrr	�
parse_html�s

rN)
�__doc__�html.parserr�django.utils.regex_helperrrr
rr3�	ExceptionrQrRrrrrr	�<module>sE

https://t.me/RX1948 - 2025