------------------------------------------------------------
revno: 6681
committer: Barry Warsaw <[email protected]>
branch nick: 3.0
timestamp: Sat 2009-02-07 23:14:26 -0500
message:
Branch merge
renamed:
src/mailman/Mailbox.py => src/mailman/attic/Mailbox.py
modified:
src/mailman/Archiver/Archiver.py
src/mailman/Archiver/HyperArch.py
src/mailman/Archiver/pipermail.py
src/mailman/archiving/pipermail.py
------------------------------------------------------------
revno: 6678.1.1
committer: Barry Warsaw <[email protected]>
branch nick: mailbox-eradication
timestamp: Sat 2009-02-07 23:10:55 -0500
message:
Remove the Mailman.Mailbox module; use the standard Python mailbox module.
renamed:
src/mailman/Mailbox.py => src/mailman/attic/Mailbox.py
modified:
src/mailman/Archiver/Archiver.py
src/mailman/Archiver/HyperArch.py
src/mailman/Archiver/pipermail.py
src/mailman/archiving/pipermail.py
src/mailman/queue/docs/incoming.txt
=== modified file 'src/mailman/Archiver/Archiver.py'
--- src/mailman/Archiver/Archiver.py 2009-01-05 00:41:05 +0000
+++ src/mailman/Archiver/Archiver.py 2009-02-08 04:10:55 +0000
@@ -26,11 +26,11 @@
import os
import errno
import logging
+import mailbox
from cStringIO import StringIO
from string import Template
-from mailman import Mailbox
from mailman import Utils
from mailman.config import config
@@ -140,7 +140,7 @@
"""Open (creating, if necessary) the named archive file."""
omask = os.umask(002)
try:
- return Mailbox.Mailbox(open(afn, 'a+'))
+ return mailbox.mbox(afn, 'a+')
finally:
os.umask(omask)
@@ -153,7 +153,7 @@
try:
afn = self.ArchiveFileName()
mbox = self.__archive_file(afn)
- mbox.AppendMessage(post)
+ mbox.add(post)
mbox.fp.close()
except IOError, msg:
log.error('Archive file access failure:\n\t%s %s', afn, msg)
=== modified file 'src/mailman/Archiver/HyperArch.py'
--- src/mailman/Archiver/HyperArch.py 2009-01-07 00:55:59 +0000
+++ src/mailman/Archiver/HyperArch.py 2009-02-08 04:10:55 +0000
@@ -48,7 +48,6 @@
from mailman import i18n
from mailman.Archiver import HyperDatabase
from mailman.Archiver import pipermail
-from mailman.Mailbox import ArchiverMailbox
from mailman.config import config
=== modified file 'src/mailman/Archiver/pipermail.py'
--- src/mailman/Archiver/pipermail.py 2008-09-27 01:11:51 +0000
+++ src/mailman/Archiver/pipermail.py 2009-02-08 04:10:55 +0000
@@ -17,7 +17,6 @@
VERSION = __version__
CACHESIZE = 100 # Number of slots in the cache
-from mailman.Mailbox import ArchiverMailbox
from mailman.core import errors
from mailman.i18n import _
@@ -540,30 +539,29 @@
def _makeArticle(self, msg, sequence):
return Article(msg, sequence)
- def processUnixMailbox(self, input, start=None, end=None):
- mbox = ArchiverMailbox(input, self.maillist)
+ def processUnixMailbox(self, path, start=None, end=None):
+ mbox = iter(mailbox.mbox(path))
if start is None:
start = 0
counter = 0
while counter < start:
try:
- m = mbox.next()
+ m = next(mbox)
except errors.DiscardMessage:
continue
if m is None:
return
counter += 1
- while 1:
+ while True:
try:
- pos = input.tell()
- m = mbox.next()
+ m = next(mbox)
+ except StopIteration:
+ break
except errors.DiscardMessage:
continue
except Exception:
- log.error('uncaught archiver exception at filepos: %s', pos)
+ log.error('uncaught archiver exception')
raise
- if m is None:
- break
if m == '':
# It was an unparseable message
continue
=== modified file 'src/mailman/archiving/pipermail.py'
--- src/mailman/archiving/pipermail.py 2009-01-21 01:54:22 +0000
+++ src/mailman/archiving/pipermail.py 2009-02-08 04:10:55 +0000
@@ -26,6 +26,8 @@
import os
+import mailbox
+import tempfile
from cStringIO import StringIO
from zope.interface import implements
@@ -111,11 +113,18 @@
@staticmethod
def archive_message(mlist, message):
"""See `IArchiver`."""
- text = str(message)
- fileobj = StringIO(text)
+ fd, path = tempfile.mkstemp('.mbox')
+ os.close(fd)
+ try:
+ mbox = mailbox.mbox(path, create=True)
+ mbox.add(message)
+ finally:
+ mbox.close()
h = HyperArchive(IPipermailMailingList(mlist))
- h.processUnixMailbox(fileobj)
- h.close()
- fileobj.close()
+ try:
+ h.processUnixMailbox(path)
+ finally:
+ h.close()
+ os.remove(path)
# There's no good way to know the url for the archived message.
return None
=== renamed file 'src/mailman/Mailbox.py' => 'src/mailman/attic/Mailbox.py'
--
Primary development focus
https://code.launchpad.net/~mailman-coders/mailman/3.0
Your team Mailman Checkins is subscribed to branch lp:mailman.
To unsubscribe from this branch go to
https://code.launchpad.net/~mailman-coders/mailman/3.0/+edit-subscription.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org