Fix xml.dom.minidom so it works again after the dict views introduction.

There are some methods in minidom that return dict.keys() directly.  There were
left alone since the tests passed without touching them, but it might be
prudent to just wrap them in a 'list' call to be safe for people expecting a
list.
This commit is contained in:
Brett Cannon 2007-02-21 22:05:37 +00:00
parent ecca313aa4
commit 861fd6fdb9
3 changed files with 8 additions and 12 deletions

2
BROKEN
View File

@ -1,2 +1,2 @@
test_bsddb test_bsddb3 test_compile test_dumbdbm
test_importhooks test_iter test_iterlen test_minidom
test_importhooks test_iter test_iterlen

View File

@ -565,10 +565,8 @@ def _setupCloneElement(deep):
def _testCloneElementCopiesAttributes(e1, e2, test):
attrs1 = e1.attributes
attrs2 = e2.attributes
keys1 = attrs1.keys()
keys2 = attrs2.keys()
keys1.sort()
keys2.sort()
keys1 = sorted(attrs1.keys())
keys2 = sorted(attrs2.keys())
confirm(keys1 == keys2, "clone of element has same attribute keys")
for i in range(len(keys1)):
a1 = attrs1.item(i)
@ -1351,8 +1349,7 @@ def testPickledDocument():
# --- MAIN PROGRAM
names = globals().keys()
names.sort()
names = sorted(globals().keys())
failed = []

View File

@ -256,7 +256,7 @@ class Node(xml.dom.Node):
def _call_user_data_handler(self, operation, src, dst):
if hasattr(self, "_user_data"):
for key, (data, handler) in self._user_data.items():
for key, (data, handler) in list(self._user_data.items()):
if handler is not None:
handler.handle(operation, key, data, src, dst)
@ -480,7 +480,7 @@ class NamedNodeMap(object):
def item(self, index):
try:
return self[self._attrs.keys()[index]]
return self[list(self._attrs.keys())[index]]
except IndexError:
return None
@ -672,7 +672,7 @@ class Element(Node):
return self.tagName
def unlink(self):
for attr in self._attrs.values():
for attr in list(self._attrs.values()):
attr.unlink()
self._attrs = None
self._attrsNS = None
@ -805,8 +805,7 @@ class Element(Node):
writer.write(indent+"<" + self.tagName)
attrs = self._get_attributes()
a_names = attrs.keys()
a_names.sort()
a_names = sorted(attrs.keys())
for a_name in a_names:
writer.write(" %s=\"" % a_name)