mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
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:
parent
ecca313aa4
commit
861fd6fdb9
3 changed files with 8 additions and 12 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue