shell bypass 403

Cubjrnet7 Shell


name : sax.cpython-39.pyc
a

��a�$�@s�dZddlmZddlmZddlmZddlmZm	Z	ddlm
Z
mZGdd�dej�Z
d	d
�ZGdd�de�ZGd
d�de�Zdd�ZdS)a?
SAX-based adapter to copy trees from/to the Python standard library.

Use the `ElementTreeContentHandler` class to build an ElementTree from
SAX events.

Use the `ElementTreeProducer` class or the `saxify()` function to fire
the SAX events of an ElementTree against a SAX ContentHandler.

See https://lxml.de/sax.html
�)�absolute_import)�ContentHandler)�etree)�ElementTree�
SubElement)�Comment�ProcessingInstructionc@seZdZdZdS)�SaxErrorzGeneral SAX error.
    N)�__name__�
__module__�__qualname__�__doc__�rr�./usr/lib64/python3.9/site-packages/lxml/sax.pyr	sr	cCs0|ddkr$t|dd��dd��Sd|fSdS)Nr�{��})�tuple�split)�tagrrr�	_getNsTagsrc@s�eZdZdZd dd�Zdd�Zeeejd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
d!dd�Zdd�Zdd�Zd"dd�Zdd�Zdd�ZeZdS)#�ElementTreeContentHandlerz/Build an lxml ElementTree from SAX events.
    NcCsLt�|�d|_g|_g|_d|_ddgi|_i|_|durBtj	}||_
dS�N)r�__init__�_root�_root_siblings�_element_stack�_default_ns�_ns_mapping�
_new_mappingsrZElement�_makeelement)�selfZmakeelementrrrr&s
z"ElementTreeContentHandler.__init__cCs
t|j�S)z=Contains the generated ElementTree after parsing is finished.)rr�r!rrr�
_get_etree2sz$ElementTreeContentHandler._get_etree)�doccCsdSrr)r!Zlocatorrrr�setDocumentLocator8sz,ElementTreeContentHandler.setDocumentLocatorcCsdSrrr"rrr�
startDocument;sz'ElementTreeContentHandler.startDocumentcCsdSrrr"rrr�endDocument>sz%ElementTreeContentHandler.endDocumentcCsP||j|<z|j|�|�Wnty<|g|j|<Yn0|durL||_dSr)rr�append�KeyErrorr)r!�prefix�urirrr�startPrefixMappingAs
z,ElementTreeContentHandler.startPrefixMappingcCs(|j|}|��|dur$|d|_dS�N���)r�popr)r!r*Zns_uri_listrrr�endPrefixMappingJs
z*ElementTreeContentHandler.endPrefixMappingcCs4|\}}|rd|}n|jr,d|j|f}n|}|S)N�{%s}%s)r)r!Z
ns_name_tuple�ns_uri�
local_name�el_tagrrr�	_buildTagPs
z#ElementTreeContentHandler._buildTagc
Cs�|�|�}|rli}z|��}Wnty8|��}Yn0|D]*\}}|drXd|}	n|d}	|||	<q>nd}|j}
|jdur�|�|||j�}|_|jr�t	|d�r�|jD]}|�
|�q�|jdd�=nt|
d|||j�}|
�|�|j�
�dS)Nrr1r�addpreviousr.)r5Z	iteritems�AttributeError�itemsrrr rr�hasattrr6rr(�clear)
r!�ns_name�qname�
attributesZel_name�attrsZiter_attributesZ
name_tuple�valueZ	attr_nameZ
element_stack�element�siblingrrr�startElementNSZs4


�

�
z(ElementTreeContentHandler.startElementNScCs6t||�}|jdur"|j�|�n|jd�|�dSr-)rrrr(r)r!�target�dataZpirrr�processingInstruction{s

z/ElementTreeContentHandler.processingInstructioncCs.|j��}|�|�}||jkr*td|��dS)NzUnexpected element closed: )rr/r5rr	)r!r;r<r@r4rrr�endElementNS�s


z&ElementTreeContentHandler.endElementNScCs0|rtdd�|��D��}|�d|f||�dS)NcSsg|]\}}d|f|f�qSrr)�.0�k�vrrr�
<listcomp>��z:ElementTreeContentHandler.startElement.<locals>.<listcomp>)�dictr8rB)r!�namer=rrr�startElement�s
�z&ElementTreeContentHandler.startElementcCs|�d|f|�dSr)rF)r!rMrrr�
endElement�sz$ElementTreeContentHandler.endElementcCsN|jd}z|d}|jpd||_Wn"tyH|jp<d||_Yn0dS)Nr.�)r�tail�
IndexError�text)r!rDZlast_elementrrr�
characters�s
z$ElementTreeContentHandler.characters)N)N)N)r
rrr
rr#�propertyrr%r&r'r,r0r5rBrErFrNrOrTZignorableWhitespacerrrrr#s"
	

!

rc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�ElementTreeProducerz5Produces SAX events for an element and children.
    cCsRz|��}Wnty"|}Yn0||_||_ddlm}||_|ii�|_dS)Nr)�AttributesNSImpl)Zgetrootr7�_element�_content_handlerZxml.sax.xmlreaderrW�_attr_class�_empty_attributes)r!�element_or_tree�content_handlerr@Z
attr_classrrrr�s
zElementTreeProducer.__init__cCs�|j��|j}t|d�rjg}|��}t|dd�turJ|�|�|��}q&|ddd�D]}|�|i�qX|�|i�t|d�r�|�	�}t|dd�tur�|�|i�|�	�}q�|j�
�dS)N�getpreviousrr.�getnext)rYr&rXr9r^�getattrrr(�_recursive_saxifyr_r')r!r@ZsiblingsrArrr�saxify�s"





zElementTreeProducer.saxifycCs�|j}|j}|tus|turL|tur4|�|j|j�|j}|rH|�|�dS|j	}g}||kr�|�
�D]$\}}	|�|�|	krf|�||	f�qf|�
�}
|
r�i}i}|
D]8\}
}t
|
�}|||<|j|d|d|ddd�||<q�|�||�}n|j}t
|�\}	}|j|	|||jdd�}|D]\}}|�||��q|�|	|f||�|j}|�rX|�|�|D]}|�||��q\|�|	|f|�|D]\}}|�|��q�|j}|�r�|�|�dS)NrrT)�preferred_prefix�is_attributeF)rd)rYrrrrErCrSrQrT�nsmapr8�getr(r�_build_qnamerZr[r*r,rBrarFr0)r!r@Zparent_nsmapr]rrQZ
element_nsmapZnew_prefixesr*r2ZattribsZattr_valuesZattr_qnamesZattr_ns_namer?Z
attr_ns_tupleZsax_attributesr3r<r+rS�childrrrra�sd�
��
�
z%ElementTreeProducer._recursive_saxifycsv�dur|S|s$|�|��kr$|}n:�fdd�|��D�}t|�dkrN|dn|rZt|�nd}|durj|S|d|S)Ncs$g|]\}}|dur|�kr|�qSrr)rGZpfxr+�r2rrrJs�z4ElementTreeProducer._build_qname.<locals>.<listcomp>rr�:)rfr8�len�min)r!r2r3rercrdr*Z
candidatesrrirrg�s
��z ElementTreeProducer._build_qnameN)r
rrr
rrbrargrrrrrV�s
6rVcCst||���S)zlOne-shot helper to generate SAX events from an XML tree and fire
    them against a SAX ContentHandler.
    )rVrb)r\r]rrrrbsrbN)r
Z
__future__rZxml.sax.handlerrZlxmlrZ
lxml.etreerrrrZ	LxmlErrorr	rr�objectrVrbrrrr�<module>s|s

© 2025 Cubjrnet7