Skip to content

Commit a32418c

Browse files
committed
lxml gives text/tail as bytes under Py2, so accomodate for this.
1 parent 356f8a1 commit a32418c

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

html5lib/treebuilders/etree_lxml.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import warnings
1313
import re
14+
import sys
1415

1516
from . import _base
1617
from html5lib.constants import DataLossWarning
@@ -71,8 +72,9 @@ def serializeElement(element, indent=0):
7172
while next_element is not None:
7273
serializeElement(next_element, indent+2)
7374
next_element = next_element.getnext()
74-
elif isinstance(element, str):
75+
elif isinstance(element, str) or isinstance(element, bytes):
7576
#Text in a fragment
77+
assert isinstance(element, str) or sys.version_info.major == 2
7678
rv.append("|%s\"%s\""%(' '*indent, element))
7779
else:
7880
#Fragment case
@@ -84,6 +86,7 @@ def serializeElement(element, indent=0):
8486
if hasattr(element, "tail") and element.tail:
8587
rv.append("|%s\"%s\"" %(' '*indent, element.tail))
8688
else:
89+
assert isinstance(element, etree._Element)
8790
nsmatch = etree_builders.tag_regexp.match(element.tag)
8891
if nsmatch is not None:
8992
ns = nsmatch.group(1)

html5lib/treewalkers/lxmletree.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from html5lib.treebuilders.etree import tag_regexp
33

44
from gettext import gettext
5+
import sys
56
_ = gettext
67

78
from . import _base
@@ -71,7 +72,8 @@ def __init__(self, fragment_root, obj):
7172
self.tail = self.obj.tail
7273
else:
7374
self.tail = None
74-
self.isstring = isinstance(obj, str)
75+
self.isstring = isinstance(obj, str) or isinstance(obj, bytes)
76+
assert not self.isstring or isinstance(obj, str) or sys.version_info.major == 2
7577

7678
def __getattr__(self, name):
7779
return getattr(self.obj, name)

0 commit comments

Comments
 (0)