aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2013-12-13 16:53:13 -0800
committerMark Sapiro <mark@msapiro.net>2013-12-13 16:53:13 -0800
commitd4b1c7afa712b5e4bc989fe69cffe2d252db642a (patch)
tree8d06ea0d166097f6260f52819fa0af24a8d4d76e /Mailman
parent5cd4000e9f8157e13bba8ff146249aed50a7cb02 (diff)
downloadmailman2-d4b1c7afa712b5e4bc989fe69cffe2d252db642a.tar.gz
mailman2-d4b1c7afa712b5e4bc989fe69cffe2d252db642a.tar.xz
mailman2-d4b1c7afa712b5e4bc989fe69cffe2d252db642a.zip
Fixed bin/arch to not create scrubbed attachments for messages skipped
when processing the --start= option.
Diffstat (limited to 'Mailman')
-rw-r--r--Mailman/Archiver/pipermail.py4
-rw-r--r--Mailman/Mailbox.py10
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)