~ibmcharmers/charms/xenial/ibm-cinder-storwize-svc/trunk

« back to all changes in this revision

Viewing changes to .tox/py35/lib/python3.5/site-packages/pip/_vendor/html5lib/treewalkers/dom.py

  • Committer: Ankammarao
  • Date: 2017-03-06 05:11:42 UTC
  • Revision ID: achittet@in.ibm.com-20170306051142-dpg27z4es1k56hfn
Marked tests folder executable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from __future__ import absolute_import, division, unicode_literals
 
2
 
 
3
from xml.dom import Node
 
4
 
 
5
from . import base
 
6
 
 
7
 
 
8
class TreeWalker(base.NonRecursiveTreeWalker):
 
9
    def getNodeDetails(self, node):
 
10
        if node.nodeType == Node.DOCUMENT_TYPE_NODE:
 
11
            return base.DOCTYPE, node.name, node.publicId, node.systemId
 
12
 
 
13
        elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE):
 
14
            return base.TEXT, node.nodeValue
 
15
 
 
16
        elif node.nodeType == Node.ELEMENT_NODE:
 
17
            attrs = {}
 
18
            for attr in list(node.attributes.keys()):
 
19
                attr = node.getAttributeNode(attr)
 
20
                if attr.namespaceURI:
 
21
                    attrs[(attr.namespaceURI, attr.localName)] = attr.value
 
22
                else:
 
23
                    attrs[(None, attr.name)] = attr.value
 
24
            return (base.ELEMENT, node.namespaceURI, node.nodeName,
 
25
                    attrs, node.hasChildNodes())
 
26
 
 
27
        elif node.nodeType == Node.COMMENT_NODE:
 
28
            return base.COMMENT, node.nodeValue
 
29
 
 
30
        elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE):
 
31
            return (base.DOCUMENT,)
 
32
 
 
33
        else:
 
34
            return base.UNKNOWN, node.nodeType
 
35
 
 
36
    def getFirstChild(self, node):
 
37
        return node.firstChild
 
38
 
 
39
    def getNextSibling(self, node):
 
40
        return node.nextSibling
 
41
 
 
42
    def getParentNode(self, node):
 
43
        return node.parentNode