o
    È·eN	  ã                   @   s<   d dl Zd dlmZ G dd„ dejjƒZG dd„ deƒZdS )é    N)ÚStringIOc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
Ú
XmlHandlerc                 C   s   || _ d|fg| _d| _d S )NÚrootÚ )Ú
connectionÚnodesÚcurrent_text©ÚselfÚ	root_noder   © r   úC/var/www/ideatree/venv/lib/python3.10/site-packages/boto/handler.pyÚ__init__   s   
zXmlHandler.__init__c                 C   s@   d| _ | jd d  ||| j¡}|d ur| j ||f¡ d S d S )Nr   éÿÿÿÿé   )r   r   ÚstartElementr   Úappend)r
   ÚnameÚattrsÚnew_noder   r   r   r   "   s
   ÿzXmlHandler.startElementc                 C   sl   | j d d  || j| j¡ | j d d |kr1t| j d d dƒr,| j d d  | j¡ | j  ¡  d| _d S )Nr   r   r   ÚendNoder   )r   Ú
endElementr   r   Úhasattrr   Úpop)r
   r   r   r   r   r   (   s   

zXmlHandler.endElementc                 C   s   |  j |7  _ d S ©N)r   ©r
   Úcontentr   r   r   Ú
characters0   s   zXmlHandler.charactersN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r      s
    r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚXmlHandlerWrapperc                 C   s>   t ||ƒ| _tj ¡ | _| j | j¡ | j tjjjd¡ d S )Nr   )	r   ÚhandlerÚxmlÚsaxÚmake_parserÚparserÚsetContentHandlerÚ
setFeatureÚfeature_external_gesr	   r   r   r   r   5   s   zXmlHandlerWrapper.__init__c                 C   s   | j  t|ƒ¡S r   )r&   Úparser   r   r   r   r   ÚparseString;   s   zXmlHandlerWrapper.parseStringN)r   r   r    r   r+   r   r   r   r   r!   4   s    r!   )	Úxml.saxr#   Úboto.compatr   r$   ÚContentHandlerr   Úobjectr!   r   r   r   r   Ú<module>   s   