
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ÝPfK  ã            	   @   s    d dl mZmZmZ d dlmZ ddlmZmZm	Z	 ddddd	d
dddg	Z
ejZejZejZejZejZejZdZdje	ƒZ	G dd„ deƒZG dd„ deƒZdS )é    )Úabsolute_importÚdivisionÚunicode_literals)ÚNodeé   )Ú
namespacesÚvoidElementsÚspaceCharactersÚDOCUMENTÚDOCTYPEÚTEXTÚELEMENTÚCOMMENTÚENTITYÚUNKNOWNÚ
TreeWalkerÚNonRecursiveTreeWalkerz<#UNKNOWN#>Ú c               @   sh   e Zd Zdd„ Zdd„ Zdd„ Zddd	„Zd
d„ Zdd„ Zdd„ Z	dd„ Z
ddd„Zdd„ Zdd„ ZdS )r   c             C   s
   || _ d S )N)Útree)Úselfr   © r   ú/usr/lib/python3.6/base.pyÚ__init__   s    zTreeWalker.__init__c             C   s   t ‚d S )N)ÚNotImplementedError)r   r   r   r   Ú__iter__   s    zTreeWalker.__iter__c             C   s
   d|dœS )NZSerializeError)ÚtypeÚdatar   )r   Úmsgr   r   r   Úerror   s    zTreeWalker.errorFc             c   s$   d|||dœV  |r | j dƒV  d S )NZEmptyTag)r   ÚnameÚ	namespacer   zVoid element has children)r   )r   r    r   ÚattrsÚhasChildrenr   r   r   ÚemptyTag   s
    
zTreeWalker.emptyTagc             C   s   d|||dœS )NZStartTag)r   r   r    r   r   )r   r    r   r!   r   r   r   ÚstartTag%   s    zTreeWalker.startTagc             C   s   d||dœS )NZEndTag)r   r   r    r   )r   r    r   r   r   r   ÚendTag+   s    zTreeWalker.endTagc             c   sx   |}|j tƒ}|d t|ƒt|ƒ … }|r6d|dœV  |}|jtƒ}|t|ƒd … }|rdd|dœV  |rtd|dœV  d S )NZSpaceCharacters)r   r   Z
Characters)Úlstripr	   ÚlenÚrstrip)r   r   ZmiddleÚleftÚrightr   r   r   Útext0   s    

zTreeWalker.textc             C   s
   d|dœS )NÚComment)r   r   r   )r   r   r   r   r   Úcomment>   s    zTreeWalker.commentNc             C   s   d|||dœS )NZDoctype)r   r   ÚpublicIdÚsystemIdr   )r   r   r.   r/   r   r   r   ÚdoctypeA   s    zTreeWalker.doctypec             C   s
   d|dœS )NZEntity)r   r   r   )r   r   r   r   r   ÚentityG   s    zTreeWalker.entityc             C   s   | j d| ƒS )NzUnknown node type: )r   )r   ZnodeTyper   r   r   ÚunknownJ   s    zTreeWalker.unknown)F)NN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r#   r$   r%   r+   r-   r0   r1   r2   r   r   r   r   r      s   

c               @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )r   c             C   s   t ‚d S )N)r   )r   Únoder   r   r   ÚgetNodeDetailsO   s    z%NonRecursiveTreeWalker.getNodeDetailsc             C   s   t ‚d S )N)r   )r   r6   r   r   r   ÚgetFirstChildR   s    z$NonRecursiveTreeWalker.getFirstChildc             C   s   t ‚d S )N)r   )r   r6   r   r   r   ÚgetNextSiblingU   s    z%NonRecursiveTreeWalker.getNextSiblingc             C   s   t ‚d S )N)r   )r   r6   r   r   r   ÚgetParentNodeX   s    z$NonRecursiveTreeWalker.getParentNodec             c   s  | j }�xú|d k	�r| j|ƒ}|d |dd …  }}d}|tkrN| j|Ž V  nà|tkrrxÖ| j|Ž D ]
}|V  qbW n¼|tkrØ|\}}}}| s˜|td krÆ|tkrÆx| j	||||ƒD ]
}|V  q²W d}n| j
|||ƒV  nV|tkrò| j|d ƒV  n<|tk�r| j|d ƒV  n |tk�rd}n| j|d ƒV  |�r@| j|ƒ}	nd }	|	d k	�rT|	}q
xª|d k	�rþ| j|ƒ}|d |dd …  }}|tk�rÂ|\}}}}|�rª|td k�s´|tk�rÂ| j||ƒV  | j |k�rÔd }P | j|ƒ}
|
d k	�rð|
}P n
| j|ƒ}�qVW q
W d S )Nr   é   FZhtmlT)r   r7   r   r0   r   r+   r   r   r   r#   r$   r   r-   r   r1   r
   r2   r8   r%   r9   r:   )r   ZcurrentNodeZdetailsr   r"   Útokenr    r   Z
attributesZ
firstChildZnextSiblingr   r   r   r   [   sZ    









zNonRecursiveTreeWalker.__iter__N)r3   r4   r5   r7   r8   r9   r:   r   r   r   r   r   r   N   s
   N)Z
__future__r   r   r   Zxml.domr   Z	constantsr   r   r	   Ú__all__ZDOCUMENT_NODEr
   ZDOCUMENT_TYPE_NODEr   Z	TEXT_NODEr   ZELEMENT_NODEr   ZCOMMENT_NODEr   ZENTITY_NODEr   r   ÚjoinÚobjectr   r   r   r   r   r   Ú<module>   s   
: