diff options
Diffstat (limited to 'Mailman')
-rw-r--r-- | Mailman/Archiver/pipermail.py | 4 | ||||
-rw-r--r-- | Mailman/Mailbox.py | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/Mailman/Archiver/pipermail.py b/Mailman/Archiver/pipermail.py index 939602ba..9c54bbd9 100644 --- a/Mailman/Archiver/pipermail.py +++ b/Mailman/Archiver/pipermail.py @@ -552,6 +552,8 @@ class T: if start is None: start = 0 counter = 0 + if start: + mbox.skipping(True) while counter < start: try: m = mbox.next() @@ -560,6 +562,8 @@ class T: if m is None: return counter += 1 + if start: + mbox.skipping(False) while 1: try: pos = input.tell() diff --git a/Mailman/Mailbox.py b/Mailman/Mailbox.py index a7e8cced..a8fa4d0b 100644 --- a/Mailman/Mailbox.py +++ b/Mailman/Mailbox.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2011 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2013 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -110,3 +110,11 @@ class ArchiverMailbox(Mailbox): return self._scrubber(self._mlist, msg) else: return msg + + def skipping(self, flag): + """ This method allows the archiver to skip over messages without + scrubbing attachments into the attachments directory.""" + if flag: + self.factory = _safeparser + else: + self.factory = _archfactory(self) |