diff options
author | Daniel Lublin <daniel@lublin.se> | 2016-12-05 18:42:05 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-28 12:56:43 +0100 |
commit | 331275422b2c3f326f605c23ae89eedb4e222eb5 (patch) | |
tree | 9d66aacaa16ebc06a632eced36a0b4847348305f /bitbake/lib/bs4 | |
parent | 64297072e8084bde10b0959e0f8b7fe86481bf50 (diff) | |
download | poky-331275422b2c3f326f605c23ae89eedb4e222eb5.tar.gz |
bitbake: lib/bs4: Fix imports from html5lib >= 0.9999999/1.0b8
As of html5lib 0.9999999/1.0b8 (released on July 14, 2016), some modules
have moved from _base to base. Handle this, while staying compatible
with earlier versions.
(Bitbake rev: 0d80cacb2b84ee059cee3caf8a5968033b9ce3c5)
Signed-off-by: Daniel Lublin <daniel@lublin.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bs4')
-rw-r--r-- | bitbake/lib/bs4/builder/_html5lib.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/bitbake/lib/bs4/builder/_html5lib.py b/bitbake/lib/bs4/builder/_html5lib.py index 7de36ae75e..0f4007a9bd 100644 --- a/bitbake/lib/bs4/builder/_html5lib.py +++ b/bitbake/lib/bs4/builder/_html5lib.py | |||
@@ -11,7 +11,14 @@ from bs4.builder import ( | |||
11 | ) | 11 | ) |
12 | from bs4.element import NamespacedAttribute | 12 | from bs4.element import NamespacedAttribute |
13 | import html5lib | 13 | import html5lib |
14 | try: | ||
15 | # html5lib >= 0.99999999/1.0b9 | ||
16 | from html5lib.treebuilders import base as treebuildersbase | ||
17 | except ImportError: | ||
18 | # html5lib <= 0.9999999/1.0b8 | ||
19 | from html5lib.treebuilders import _base as treebuildersbase | ||
14 | from html5lib.constants import namespaces | 20 | from html5lib.constants import namespaces |
21 | |||
15 | from bs4.element import ( | 22 | from bs4.element import ( |
16 | Comment, | 23 | Comment, |
17 | Doctype, | 24 | Doctype, |
@@ -54,7 +61,7 @@ class HTML5TreeBuilder(HTMLTreeBuilder): | |||
54 | return u'<html><head></head><body>%s</body></html>' % fragment | 61 | return u'<html><head></head><body>%s</body></html>' % fragment |
55 | 62 | ||
56 | 63 | ||
57 | class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder): | 64 | class TreeBuilderForHtml5lib(treebuildersbase.TreeBuilder): |
58 | 65 | ||
59 | def __init__(self, soup, namespaceHTMLElements): | 66 | def __init__(self, soup, namespaceHTMLElements): |
60 | self.soup = soup | 67 | self.soup = soup |
@@ -92,7 +99,7 @@ class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder): | |||
92 | return self.soup | 99 | return self.soup |
93 | 100 | ||
94 | def getFragment(self): | 101 | def getFragment(self): |
95 | return html5lib.treebuilders._base.TreeBuilder.getFragment(self).element | 102 | return treebuildersbase.TreeBuilder.getFragment(self).element |
96 | 103 | ||
97 | class AttrList(object): | 104 | class AttrList(object): |
98 | def __init__(self, element): | 105 | def __init__(self, element): |
@@ -115,9 +122,9 @@ class AttrList(object): | |||
115 | return name in list(self.attrs.keys()) | 122 | return name in list(self.attrs.keys()) |
116 | 123 | ||
117 | 124 | ||
118 | class Element(html5lib.treebuilders._base.Node): | 125 | class Element(treebuildersbase.Node): |
119 | def __init__(self, element, soup, namespace): | 126 | def __init__(self, element, soup, namespace): |
120 | html5lib.treebuilders._base.Node.__init__(self, element.name) | 127 | treebuildersbase.Node.__init__(self, element.name) |
121 | self.element = element | 128 | self.element = element |
122 | self.soup = soup | 129 | self.soup = soup |
123 | self.namespace = namespace | 130 | self.namespace = namespace |
@@ -277,7 +284,7 @@ class Element(html5lib.treebuilders._base.Node): | |||
277 | 284 | ||
278 | class TextNode(Element): | 285 | class TextNode(Element): |
279 | def __init__(self, element, soup): | 286 | def __init__(self, element, soup): |
280 | html5lib.treebuilders._base.Node.__init__(self, None) | 287 | treebuildersbase.Node.__init__(self, None) |
281 | self.element = element | 288 | self.element = element |
282 | self.soup = soup | 289 | self.soup = soup |
283 | 290 | ||