8000 Changing non-xml attributes · awesome-python/html5lib-python@ad36429 · GitHub
[go: up one dir, main page]

Skip to content

Commit ad36429

Browse files
committed
Changing non-xml attributes
--HG-- branch : svgmathml extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/branches/svgmathml%401301
1 parent 91c9eff commit ad36429

File tree

1 file changed

+11
-2
lines changed
  • src/html5lib/treebuilders

1 file changed

+11
-2
lines changed

src/html5lib/treebuilders/dom.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,20 @@ def __setitem__(self, name, value):
3131
self.element.setAttribute(infoset_filter.coerceAttribute(name),
3232
infoset_filter.coerceCharacters(value))
3333
def items(self):
34-
return self.element.attributes.items()
34+
return [(infoset_filter.fromXmlName(item[0]), item[1]) for item in
35+
self.element.attributes.items()]
3536
def keys(self):
36-
return self.element.attributes.keys()
37+
return [infoset_filter.fromXmlName(item) for item in
38+
self.element.attributes.keys()]
3739
def __getitem__(self, name):
40+
name = infoset_filter.toXmlName(name)
3841
return self.element.getAttribute(name)
42+
43+
def __contains__(self, name):
44+
if isinstance(name, tuple):
45+
raise NotImplementedError
46+
else:
47+
return self.element.hasAttribute(infoset_filter.toXmlName(name))
3948

4049
class NodeBuilder(_base.Node):
4150
def __init__(self, element):

0 commit comments

Comments
 (0)
0