Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/bleach/_vendor/html5lib/treewalkers/dom.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4f3585e2f14b |
---|---|
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 |