diff options
author | Nikolaus Schulz <microschulz@web.de> | 2007-10-24 02:23:59 +0000 |
---|---|---|
committer | Nikolaus Schulz <microschulz@web.de> | 2007-10-24 02:23:59 +0000 |
commit | 8e73e315e4a77dbccd8bfa3f1c049e279b581eb1 (patch) | |
tree | 3a63876845eda3dbf9e15b592676bba15ab259ed | |
parent | b07a4cfbf30e99f8771f27756b1fb8723e41b1b2 (diff) | |
download | archivemail-8e73e315e4a77dbccd8bfa3f1c049e279b581eb1.tar.gz archivemail-8e73e315e4a77dbccd8bfa3f1c049e279b581eb1.tar.bz2 archivemail-8e73e315e4a77dbccd8bfa3f1c049e279b581eb1.zip |
Skip invalid messages/files in Maildirs.
Closes: #1783369, Debian bug #255944, and Debian bug #305902 also seems about
this issue.
-rwxr-xr-x | archivemail.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/archivemail.py b/archivemail.py index b3f6a00..4822a32 100755 --- a/archivemail.py +++ b/archivemail.py @@ -1264,8 +1264,10 @@ def _archive_dir(mailbox_name, final_archive_name, type): cache = IdentityCache(mailbox_name) - msg = original.next() - while (msg): + for msg in original: + if not msg: + vprint("ignoring invalid message '%s'" % get_filename(msg)) + continue msg_size = sizeof_message(msg) stats.another_message(msg_size) vprint("processing message '%s'" % msg.get('Message-ID')) @@ -1286,7 +1288,6 @@ def _archive_dir(mailbox_name, final_archive_name, type): if not options.dry_run: delete_queue.append(get_filename(msg)) else: vprint("decision: retain message") - msg = original.next() vprint("finished reading messages") if not options.dry_run: if archive: |