3 �Pf��@sBddlmZmZmZddlmZddlmZGdd�dej�Z dS)�)�absolute_import�division�unicode_literals)�Node�)�basec@s,eZdZdd�Zdd�Zdd�Zdd�Zd S) � TreeWalkercCs�|jtjkr tj|j|j|jfS|jtjtj fkr>tj |j fS|jtj kr�i}xJt |jj��D]8}|j|�}|jr�|j||j|jf<q^|j|d|jf<q^Wtj|j|j||j�fS|jtjkr�tj|j fS|jtjtjfkr�tjfStj|jfSdS)N)ZnodeTyperZDOCUMENT_TYPE_NODErZDOCTYPE�nameZpublicIdZsystemIdZ TEXT_NODEZCDATA_SECTION_NODEZTEXTZ nodeValueZ ELEMENT_NODE�listZ attributes�keysZgetAttributeNodeZ namespaceURI�valueZ localNameZELEMENTZnodeNameZ hasChildNodesZ COMMENT_NODE�COMMENTZ DOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZDOCUMENTZUNKNOWN)�self�nodeZattrs�attr�r�/usr/lib/python3.6/dom.py�getNodeDetails s$        zTreeWalker.getNodeDetailscCs|jS)N)Z firstChild)rrrrr� getFirstChild$szTreeWalker.getFirstChildcCs|jS)N)Z nextSibling)rrrrr�getNextSibling'szTreeWalker.getNextSiblingcCs|jS)N)Z parentNode)rrrrr� getParentNode*szTreeWalker.getParentNodeN)�__name__� __module__� __qualname__rrrrrrrrrsrN) Z __future__rrrZxml.domr�rZNonRecursiveTreeWalkerrrrrr�s