Skip to content

Commit 51b2223

Browse files
author
James Graham
committed
Fix some problems with etree and new python version
--HG-- extra : transplant_source : %8Ab%974%D2%9Bu%3D%F5%FC%BBy%9B%DF9%00%AF_1R
1 parent 7460e1a commit 51b2223

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

html5lib/treebuilders/etree.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import new
22
import re
3+
import types
34

45
import _base
56
from html5lib import ihatexml
@@ -91,15 +92,15 @@ def _setChildNodes(self, value):
9192

9293
def hasContent(self):
9394
"""Return true if the node has children or text"""
94-
return bool(self._element.text or self._element.getchildren())
95+
return bool(self._element.text or len(self._element))
9596

9697
def appendChild(self, node):
9798
self._childNodes.append(node)
9899
self._element.append(node._element)
99100
node.parent = self
100101

101102
def insertBefore(self, node, refNode):
102-
index = self._element.getchildren().index(refNode._element)
103+
index = list(self._element).index(refNode._element)
103104
self._element.insert(index, node._element)
104105
node.parent = self
105106

@@ -119,7 +120,7 @@ def insertText(self, data, insertBefore=None):
119120
self._element[-1].tail += data
120121
else:
121122
#Insert the text before the specified node
122-
children = self._element.getchildren()
123+
children = list(self._element)
123124
index = children.index(insertBefore._element)
124125
if index > 0:
125126
if not self._element[index-1].tail:
@@ -217,9 +218,10 @@ def serializeElement(element, indent=0):
217218
rv.append("|%s\"%s\""%(' '*(indent+2), element.text))
218219
if element.tail:
219220
finalText = element.tail
220-
elif type(element.tag) == type(ElementTree.Comment):
221+
elif element.tag == ElementTree.Comment:
221222
rv.append("|%s<!-- %s -->"%(' '*indent, element.text))
222223
else:
224+
assert type(element.tag) in types.StringTypes, "Expected unicode, got %s"%type(element.tag)
223225
nsmatch = tag_regexp.match(element.tag)
224226

225227
if nsmatch is None:
@@ -247,7 +249,7 @@ def serializeElement(element, indent=0):
247249
if element.text:
248250
rv.append("|%s\"%s\"" %(' '*(indent+2), element.text))
249251
indent += 2
250-
for child in element.getchildren():
252+
for child in element:
251253
serializeElement(child, indent)
252254
if element.tail:
253255
rv.append("|%s\"%s\"" %(' '*(indent-2), element.tail))
@@ -281,7 +283,7 @@ def serializeElement(element):
281283
if element.tail:
282284
finalText = element.tail
283285

284-
for child in element.getchildren():
286+
for child in element:
285287
serializeElement(child)
286288

287289
elif type(element.tag) == type(ElementTree.Comment):
@@ -298,7 +300,7 @@ def serializeElement(element):
298300
if element.text:
299301
rv.append(element.text)
300302

301-
for child in element.getchildren():
303+
for child in element:
302304
serializeElement(child)
303305

304306
rv.append("</%s>"%(element.tag,))

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy