summaryrefslogtreecommitdiff
path: root/Lib/mailbox.py
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2007-07-14 22:06:30 +0000
committerAndrew M. Kuchling <amk@amk.ca>2007-07-14 22:06:30 +0000
commit6ecd4a0535580bc12b062a39ab8288b18e87daad (patch)
tree7dbf107146563ac3ae60fae97e1830f7b44c794a /Lib/mailbox.py
parent0336870720fb6630add0771e50e174273f7a8711 (diff)
downloadcpython-git-6ecd4a0535580bc12b062a39ab8288b18e87daad.tar.gz
[Backport of r56382]
Avoid exception if there's a stray directory inside a Maildir folder. The Maildir specification doesn't seem to say anything about this situation, and it can happen if you're keeping a Maildir mailbox in Subversion (.svn directories) or some similar system. The patch just ignores directories in the cur/, new/, tmp/ folders.
Diffstat (limited to 'Lib/mailbox.py')
-rwxr-xr-xLib/mailbox.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 3e5d0b4e10..46f41ce802 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -459,7 +459,11 @@ class Maildir(Mailbox):
"""Update table of contents mapping."""
self._toc = {}
for subdir in ('new', 'cur'):
- for entry in os.listdir(os.path.join(self._path, subdir)):
+ subdir_path = os.path.join(self._path, subdir)
+ for entry in os.listdir(subdir_path):
+ p = os.path.join(subdir_path, entry)
+ if os.path.isdir(p):
+ continue
uniq = entry.split(self.colon)[0]
self._toc[uniq] = os.path.join(subdir, entry)