Get rid of dict.has_key(). Boy this has a lot of repercussions!
Not all code has been fixed yet; this is just a checkpoint...
The C API still has PyDict_HasKey() and _HasKeyString(); not sure
if I want to change those just yet.
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index b72128b..ed7c7d1 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -120,13 +120,10 @@
"""Return a list of (key, message) tuples. Memory intensive."""
return list(self.iteritems())
- def has_key(self, key):
+ def __contains__(self, key):
"""Return True if the keyed message exists, False otherwise."""
raise NotImplementedError('Method must be implemented by subclass')
- def __contains__(self, key):
- return self.has_key(key)
-
def __len__(self):
"""Return a count of messages in the mailbox."""
raise NotImplementedError('Method must be implemented by subclass')
@@ -330,7 +327,7 @@
continue
yield key
- def has_key(self, key):
+ def __contains__(self, key):
"""Return True if the keyed message exists, False otherwise."""
self._refresh()
return key in self._toc
@@ -515,7 +512,7 @@
for key in self._toc.keys():
yield key
- def has_key(self, key):
+ def __contains__(self, key):
"""Return True if the keyed message exists, False otherwise."""
self._lookup()
return key in self._toc
@@ -902,7 +899,7 @@
return iter(sorted(int(entry) for entry in os.listdir(self._path)
if entry.isdigit()))
- def has_key(self, key):
+ def __contains__(self, key):
"""Return True if the keyed message exists, False otherwise."""
return os.path.exists(os.path.join(self._path, str(key)))