summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2007-02-21 22:05:37 (GMT)
committerBrett Cannon <bcannon@gmail.com>2007-02-21 22:05:37 (GMT)
commit861fd6fdb9592e6d58a281521dea53d47ecc6adf (patch)
tree693d567587622858c76e14a5ad9e28ca35561e8f /Lib
parentecca313aa4ea9027317f23d176e104db3bb85705 (diff)
downloadcpython-861fd6fdb9592e6d58a281521dea53d47ecc6adf.zip
cpython-861fd6fdb9592e6d58a281521dea53d47ecc6adf.tar.gz
cpython-861fd6fdb9592e6d58a281521dea53d47ecc6adf.tar.bz2
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.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_minidom.py9
-rw-r--r--Lib/xml/dom/minidom.py9
2 files changed, 7 insertions, 11 deletions
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py
index d0a99a7..6c4dd94 100644
--- a/Lib/test/test_minidom.py
+++ b/Lib/test/test_minidom.py
@@ -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 = []
diff --git a/Lib/xml/dom/minidom.py b/Lib/xml/dom/minidom.py
index bfdcc82..3529bd3 100644
--- a/Lib/xml/dom/minidom.py
+++ b/Lib/xml/dom/minidom.py
@@ -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)