diff options
| author | Barry Warsaw | 2007-09-29 14:55:25 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2007-09-29 14:55:25 -0400 |
| commit | 3e9ed398b6a05c69daca14c8226ca7f57c164c21 (patch) | |
| tree | b0ae2e9771a80f9e0e6218871bbe2d281120202c /Mailman/Queue/ArchRunner.py | |
| parent | cbf2967239163e42cc2b25eece7bb5cb71b197fe (diff) | |
| download | mailman-3e9ed398b6a05c69daca14c8226ca7f57c164c21.tar.gz mailman-3e9ed398b6a05c69daca14c8226ca7f57c164c21.tar.zst mailman-3e9ed398b6a05c69daca14c8226ca7f57c164c21.zip | |
Diffstat (limited to 'Mailman/Queue/ArchRunner.py')
| -rw-r--r-- | Mailman/Queue/ArchRunner.py | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/Mailman/Queue/ArchRunner.py b/Mailman/Queue/ArchRunner.py deleted file mode 100644 index 266c2ad14..000000000 --- a/Mailman/Queue/ArchRunner.py +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (C) 2000-2007 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 -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, -# USA. - -"""Archive queue runner.""" - -import time -from email.Utils import parsedate_tz, mktime_tz, formatdate - -from Mailman import LockFile -from Mailman.Queue.Runner import Runner -from Mailman.configuration import config - - - -class ArchRunner(Runner): - QDIR = config.ARCHQUEUE_DIR - - def _dispose(self, mlist, msg, msgdata): - # Support clobber_date, i.e. setting the date in the archive to the - # received date, not the (potentially bogus) Date: header of the - # original message. - clobber = 0 - originaldate = msg.get('date') - receivedtime = formatdate(msgdata['received_time']) - if not originaldate: - clobber = 1 - elif config.ARCHIVER_CLOBBER_DATE_POLICY == 1: - clobber = 1 - elif config.ARCHIVER_CLOBBER_DATE_POLICY == 2: - # what's the timestamp on the original message? - tup = parsedate_tz(originaldate) - now = time.time() - try: - if not tup: - clobber = 1 - elif abs(now - mktime_tz(tup)) > \ - config.ARCHIVER_ALLOWABLE_SANE_DATE_SKEW: - clobber = 1 - except (ValueError, OverflowError): - # The likely cause of this is that the year in the Date: field - # is horribly incorrect, e.g. (from SF bug # 571634): - # Date: Tue, 18 Jun 0102 05:12:09 +0500 - # Obviously clobber such dates. - clobber = 1 - if clobber: - del msg['date'] - del msg['x-original-date'] - msg['Date'] = receivedtime - if originaldate: - msg['X-Original-Date'] = originaldate - # Always put an indication of when we received the message. - msg['X-List-Received-Date'] = receivedtime - # Now try to get the list lock - try: - mlist.Lock(timeout=config.LIST_LOCK_TIMEOUT) - except LockFile.TimeOutError: - # oh well, try again later - return 1 - try: - mlist.ArchiveMail(msg) - mlist.Save() - finally: - mlist.Unlock() |
