Skip to content

Commit e0ea899

Browse files
committed
Drop all the to_text magic in treewalkers._base
1 parent 9eff304 commit e0ea899

File tree

1 file changed

+14
-30
lines changed

1 file changed

+14
-30
lines changed

html5lib/treewalkers/_base.py

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from __future__ import absolute_import, division, unicode_literals
2-
from six import text_type, string_types
32

43
from xml.dom import Node
54
from ..constants import namespaces, voidElements, spaceCharacters
@@ -18,19 +17,6 @@
1817
spaceCharacters = "".join(spaceCharacters)
1918

2019

21-
def to_text(s, blank_if_none=True):
22-
"""Wrapper around six.text_type to convert None to empty string"""
23-
if s is None:
24-
if blank_if_none:
25-
return ""
26-
else:
27-
return None
28-
elif isinstance(s, text_type):
29-
return s
30-
else:
31-
return text_type(s)
32-
33-
3420
class TreeWalker(object):
3521
def __init__(self, tree):
3622
self.tree = tree
@@ -42,28 +28,26 @@ def error(self, msg):
4228
return {"type": "SerializeError", "data": msg}
4329

4430
def emptyTag(self, namespace, name, attrs, hasChildren=False):
45-
yield {"type": "EmptyTag", "name": to_text(name, False),
46-
"namespace": to_text(namespace),
31+
yield {"type": "EmptyTag", "name": name,
32+
"namespace": namespace,
4733
"data": attrs}
4834
if hasChildren:
4935
yield self.error("Void element has children")
5036

5137
def startTag(self, namespace, name, attrs):
5238
return {"type": "StartTag",
53-
"name": text_type(name),
54-
"namespace": to_text(namespace),
55-
"data": dict(((to_text(namespace, False), to_text(name)),
56-
to_text(value, False))
57-
for (namespace, name), value in attrs.items())}
39+
"name": name,
40+
"namespace": namespace,
41+
"data": attrs}
5842

5943
def endTag(self, namespace, name):
6044
return {"type": "EndTag",
61-
"name": to_text(name, False),
62-
"namespace": to_text(namespace),
45+
"name": name,
46+
"namespace": namespace,
6347
"data": {}}
6448

6549
def text(self, data):
66-
data = to_text(data)
50+
data = data
6751
middle = data.lstrip(spaceCharacters)
6852
left = data[:len(data) - len(middle)]
6953
if left:
@@ -77,17 +61,17 @@ def text(self, data):
7761
yield {"type": "SpaceCharacters", "data": right}
7862

7963
def comment(self, data):
80-
return {"type": "Comment", "data": text_type(data)}
64+
return {"type": "Comment", "data": data}
8165

8266
def doctype(self, name, publicId=None, systemId=None, correct=True):
8367
return {"type": "Doctype",
84-
"name": to_text(name),
85-
"publicId": to_text(publicId),
86-
"systemId": to_text(systemId),
87-
"correct": to_text(correct)}
68+
"name": name,
69+
"publicId": publicId,
70+
"systemId": systemId,
71+
"correct": correct}
8872

8973
def entity(self, name):
90-
return {"type": "Entity", "name": text_type(name)}
74+
return {"type": "Entity", "name": name}
9175

9276
def unknown(self, nodeType):
9377
return self.error("Unknown node type: " + nodeType)

0 commit comments

Comments
 (0)