summaryrefslogtreecommitdiff
path: root/bs4/builder/_html5lib.py
diff options
context:
space:
mode:
authorGeoffrey Sneddon <me@gsnedders.com>2015-12-08 16:02:57 +0000
committerGeoffrey Sneddon <me@gsnedders.com>2015-12-08 16:02:57 +0000
commita07a28ac10e5686d096fd0f4225e01ff137ec80f (patch)
tree06f1da2dd59aae973c0a4047f89f83d8c68f82bf /bs4/builder/_html5lib.py
parent6780794cdcc52305691f7a299015bfb9b5941e27 (diff)
Fix foster parenting with html5lib.
This makes all of the html5lib tests pass. Yay!
Diffstat (limited to 'bs4/builder/_html5lib.py')
-rw-r--r--bs4/builder/_html5lib.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/bs4/builder/_html5lib.py b/bs4/builder/_html5lib.py
index a535747..755518d 100644
--- a/bs4/builder/_html5lib.py
+++ b/bs4/builder/_html5lib.py
@@ -217,8 +217,10 @@ class Element(html5lib.treebuilders._base.Node):
child = node
elif node.element.__class__ == NavigableString:
string_child = child = node.element
+ node.parent = self
else:
child = node.element
+ node.parent = self
if not isinstance(child, basestring) and child.parent is not None:
node.element.extract()
@@ -283,11 +285,11 @@ class Element(html5lib.treebuilders._base.Node):
attributes = property(getAttributes, setAttributes)
def insertText(self, data, insertBefore=None):
+ text = TextNode(self.soup.new_string(data), self.soup)
if insertBefore:
- text = TextNode(self.soup.new_string(data), self.soup)
- self.insertBefore(data, insertBefore)
+ self.insertBefore(text, insertBefore)
else:
- self.appendChild(data)
+ self.appendChild(text)
def insertBefore(self, node, refNode):
index = self.element.index(refNode.element)