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.
This commit is contained in:
Andrew M. Kuchling 2007-07-14 21:56:19 +00:00
parent 6111ce3667
commit 2b09ef0c6d
2 changed files with 16 additions and 1 deletions

View file

@ -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)