11import new
22import re
3+ import types
34
45import _base
56from 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