From: Raymond Hettinger Date: Wed, 22 Jan 2003 01:39:06 +0000 (+0000) Subject: SF patch #667730: More DictMixin X-Git-Tag: v2.3c1~2368 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=51f3f1b7dce6d054891faf9959fc493e66e9f684;p=thirdparty%2FPython%2Fcpython.git SF patch #667730: More DictMixin Sebastien Keim pointed out that iterkeys and __contains__ require their own definitions so their behavior will update when the underlying method is subclassed. --- diff --git a/Lib/UserDict.py b/Lib/UserDict.py index 34ceb3a09bfc..f9ad47109fea 100644 --- a/Lib/UserDict.py +++ b/Lib/UserDict.py @@ -90,13 +90,15 @@ class DictMixin: except KeyError: return False return True - __contains__ = has_key + def __contains__(self, key): + return self.has_key(key) # third level takes advantage of second level definitions def iteritems(self): for k in self: yield (k, self[k]) - iterkeys = __iter__ + def iterkeys(self): + return self.__iter__() # fourth level uses definitions from lower levels def itervalues(self):