summaryrefslogtreecommitdiff
path: root/bs4/builder/_lxml.py
diff options
context:
space:
mode:
authorLeonard Richardson <leonardr@segfault.org>2018-07-14 15:35:24 -0400
committerLeonard Richardson <leonardr@segfault.org>2018-07-14 15:35:24 -0400
commitd241e5d5a9e9c01d88b3711a82a6114f846ffdb1 (patch)
treea9a997582b3dc2ff6d9a574ad04bb98596d968a6 /bs4/builder/_lxml.py
parent3672aa2f2000b0779e077f4536ffe4e008b37531 (diff)
Stopped HTMLParser from raising an exception in very rare cases of
bad markup. [bug=1708831]
Diffstat (limited to 'bs4/builder/_lxml.py')
-rw-r--r--bs4/builder/_lxml.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/bs4/builder/_lxml.py b/bs4/builder/_lxml.py
index d2ca287..3439271 100644
--- a/bs4/builder/_lxml.py
+++ b/bs4/builder/_lxml.py
@@ -5,9 +5,13 @@ __all__ = [
'LXMLTreeBuilder',
]
+try:
+ from collections.abc import Callable # Python 3.6
+except ImportError , e:
+ from collections import Callable
+
from io import BytesIO
from StringIO import StringIO
-import collections
from lxml import etree
from bs4.element import (
Comment,
@@ -58,7 +62,7 @@ class LXMLTreeBuilderForXML(TreeBuilder):
# Use the default parser.
parser = self.default_parser(encoding)
- if isinstance(parser, collections.Callable):
+ if isinstance(parser, Callable):
# Instantiate the parser with default arguments
parser = parser(target=self, strip_cdata=False, encoding=encoding)
return parser