From d4b1c7afa712b5e4bc989fe69cffe2d252db642a Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Fri, 13 Dec 2013 16:53:13 -0800 Subject: Fixed bin/arch to not create scrubbed attachments for messages skipped when processing the --start= option. --- Mailman/Archiver/pipermail.py | 4 ++++ Mailman/Mailbox.py | 10 +++++++++- NEWS | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) 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) diff --git a/NEWS b/NEWS index 2a9ba15a..00d83389 100755 --- a/NEWS +++ b/NEWS @@ -9,6 +9,9 @@ Here is a history of user visible changes to Mailman. Bug Fixes and other patches + - Fixed bin/arch to not create scrubbed attachments for messages skipped + when processing the --start= option. (LP: #1260883) + - Fixed email address validation to do a bit better in obscure cases. (LP: #1258703) -- cgit v1.2.3