U
    
Ha…  ã                   @   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 }t|j ¡ ƒD ]8}| |¡}|jr„|j||j|jf< q\|j|d |jf< q\t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   úH/tmp/pip-unpacked-wheel-tx790h60/pip/_vendor/html5lib/treewalkers/dom.pyÚgetNodeDetails	   s(    
 ÿzTreeWalker.getNodeDetailsc                 C   s   |j S r	   )Z
firstChild©r   r   r   r   r   ÚgetFirstChild$   s    zTreeWalker.getFirstChildc                 C   s   |j S r	   )ZnextSiblingr   r   r   r   ÚgetNextSibling'   s    zTreeWalker.getNextSiblingc                 C   s   |j S r	   )Z
parentNoder   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   