diff options
-rw-r--r-- | bs4/builder/_lxml.py | 7 | ||||
-rw-r--r-- | bs4/tests/test_lxml.py | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/bs4/builder/_lxml.py b/bs4/builder/_lxml.py index 8638c59..be35d70 100644 --- a/bs4/builder/_lxml.py +++ b/bs4/builder/_lxml.py @@ -3,6 +3,7 @@ __all__ = [ 'LXMLTreeBuilder', ] +from io import BytesIO from StringIO import StringIO import collections from lxml import etree @@ -65,7 +66,7 @@ class LXMLTreeBuilderForXML(TreeBuilder): :return: A 3-tuple (markup, original encoding, encoding declared within markup). """ - if isinstance(markup, unicode) or True: + if isinstance(markup, unicode): return markup, None, None, False try_encodings = [user_specified_encoding, document_declared_encoding] @@ -75,7 +76,9 @@ class LXMLTreeBuilderForXML(TreeBuilder): dammit.contains_replacement_characters) def feed(self, markup): - if isinstance(markup, basestring): + if isinstance(markup, bytes): + markup = BytesIO(markup) + elif isinstance(markup, unicode): markup = StringIO(markup) # Call feed() at least once, even if the markup is empty, # or the parser won't be initialized. diff --git a/bs4/tests/test_lxml.py b/bs4/tests/test_lxml.py index f32fc2b..39e4bd4 100644 --- a/bs4/tests/test_lxml.py +++ b/bs4/tests/test_lxml.py @@ -85,4 +85,3 @@ class LXMLXMLTreeBuilderSmokeTest(SoupTest, XMLTreeBuilderSmokeTest): @property def default_builder(self): return LXMLTreeBuilderForXML() - |