]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fredrik Lundh fixes Sjoerd's patch...
authorGuido van Rossum <guido@python.org>
Tue, 2 Feb 1999 22:15:24 +0000 (22:15 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 2 Feb 1999 22:15:24 +0000 (22:15 +0000)
"""Sjoerd's version stores unbound methods.  that's not good enough ;-)
Here's an alternative implementation of fixdict."""

Lib/xmllib.py

index 92b55b7bf5b27d344775b92a68762f885b850e39..089115848f07a5e8e8f842c9f79f6884cc6f9cd4 100644 (file)
@@ -103,17 +103,17 @@ class XMLParser:
             self.__fixclass(k)
 
     def __fixdict(self, dict):
-        for key, val in dict.items():
+        for key in dict.keys():
             if key[:6] == 'start_':
-                key = key[6:]
-                start, end = self.elements.get(key, (None, None))
+                tag = key[6:]
+                start, end = self.elements.get(tag, (None, None))
                 if start is None:
-                    self.elements[key] = val, end
+                    self.elements[tag] = getattr(self, key), end
             elif key[:4] == 'end_':
-                key = key[4:]
-                start, end = self.elements.get(key, (None, None))
+                tag = key[4:]
+                start, end = self.elements.get(tag, (None, None))
                 if end is None:
-                    self.elements[key] = start, val
+                    self.elements[tag] = start, getattr(self, key)
 
     # Interface -- reset this instance.  Loses all unprocessed data
     def reset(self):