3
´T¹]…  ã               @   sB   d dl mZmZmZ d dlmZ ddlmZ G dd„ dejƒZ	dS )é    )Úabsolute_importÚdivisionÚunicode_literals)ÚNodeé   )Úbasec               @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
Ú
TreeWalkerc             C   sô   |j tjkr tj|j|j|jfS |j tjtj	fkr>tj
|jfS |j tjkr²i }xJt|jjƒ ƒD ]8}|j|ƒ}|jr†|j||j|jf< q^|j|d |jf< q^W tj|j|j||jƒ fS |j tjkrÊtj|jfS |j tjtjfkrätjfS tj|j fS d S )N)ZnodeTyper   ZDOCUMENT_TYPE_NODEr   ZDOCTYPEÚnameÚpublicIdÚsystemIdZ	TEXT_NODEZCDATA_SECTION_NODEZTEXTZ	nodeValueZELEMENT_NODEÚlistÚ
attributesÚkeysZgetAttributeNodeZnamespaceURIÚvalueZ	localNameZELEMENTÚnodeNameZhasChildNodesZCOMMENT_NODEÚCOMMENTZDOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZDOCUMENTÚUNKNOWN)ÚselfÚnodeÚattrsÚattr© r   úE/tmp/pip-install-_1y4nff5/pip/pip/_vendor/html5lib/treewalkers/dom.pyÚgetNodeDetails	   s$    
zTreeWalker.getNodeDetailsc             C   s   |j S )N)Z
firstChild)r   r   r   r   r   ÚgetFirstChild$   s    zTreeWalker.getFirstChildc             C   s   |j S )N)ZnextSibling)r   r   r   r   r   ÚgetNextSibling'   s    zTreeWalker.getNextSiblingc             C   s   |j S )N)Z
parentNode)r   r   r   r   r   ÚgetParentNode*   s    zTreeWalker.getParentNodeN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r      s   r   N)
Ú
__future__r   r   r   Úxml.domr   Ú r   ZNonRecursiveTreeWalkerr   r   r   r   r   Ú<module>   s   