summaryrefslogtreecommitdiffstats
path: root/Lib/mailbox.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-08-13 06:35:21 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-08-13 06:35:21 (GMT)
commitcd3aacf5251ded68df29e2528cd88febc00b604b (patch)
tree6f82a706bda669060c7e1c42b30e3dfc09b8a8fe /Lib/mailbox.py
parent4d58897fdb0f123340246fac79174a52d7cbcf85 (diff)
downloadcpython-cd3aacf5251ded68df29e2528cd88febc00b604b.zip
cpython-cd3aacf5251ded68df29e2528cd88febc00b604b.tar.gz
cpython-cd3aacf5251ded68df29e2528cd88febc00b604b.tar.bz2
Issue #20729: Restored the use of lazy iterkeys()/itervalues()/iteritems()
in the mailbox module. This is partial rollback of changeset f340cb045bf9.
Diffstat (limited to 'Lib/mailbox.py')
-rw-r--r--Lib/mailbox.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 8a25a19..451f882 100644
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -103,7 +103,7 @@ class Mailbox:
def itervalues(self):
"""Return an iterator over all messages."""
- for key in self.keys():
+ for key in self.iterkeys():
try:
value = self[key]
except KeyError:
@@ -119,7 +119,7 @@ class Mailbox:
def iteritems(self):
"""Return an iterator over (key, message) tuples."""
- for key in self.keys():
+ for key in self.iterkeys():
try:
value = self[key]
except KeyError:
@@ -154,7 +154,7 @@ class Mailbox:
def popitem(self):
"""Delete an arbitrary (key, message) pair and return it."""
- for key in self.keys():
+ for key in self.iterkeys():
return (key, self.pop(key)) # This is only run once.
else:
raise KeyError('No messages in mailbox')
@@ -162,7 +162,7 @@ class Mailbox:
def update(self, arg=None):
"""Change the messages that correspond to certain keys."""
if hasattr(arg, 'iteritems'):
- source = arg.items()
+ source = arg.iteritems()
elif hasattr(arg, 'items'):
source = arg.items()
else:
@@ -559,7 +559,7 @@ class Maildir(Mailbox):
def next(self):
"""Return the next message in a one-time iteration."""
if not hasattr(self, '_onetime_keys'):
- self._onetime_keys = iter(self.keys())
+ self._onetime_keys = self.iterkeys()
while True:
try:
return self[next(self._onetime_keys)]
@@ -1078,7 +1078,7 @@ class MH(Mailbox):
def __len__(self):
"""Return a count of messages in the mailbox."""
- return len(list(self.keys()))
+ return len(list(self.iterkeys()))
def lock(self):
"""Lock the mailbox."""
@@ -1192,7 +1192,7 @@ class MH(Mailbox):
sequences = self.get_sequences()
prev = 0
changes = []
- for key in self.keys():
+ for key in self.iterkeys():
if key - 1 != prev:
changes.append((key, prev + 1))
if hasattr(os, 'link'):