summaryrefslogtreecommitdiff
path: root/Mailman/Message.py
diff options
context:
space:
mode:
authorbwarsaw2000-07-26 05:29:07 +0000
committerbwarsaw2000-07-26 05:29:07 +0000
commit1d0413a125febd4e9867639ec309e7068d60a997 (patch)
tree60888e3585c69078ec55d916ed42cd9e937dc9e0 /Mailman/Message.py
parentec02cd63f10f28d4a522ecfa0dfa1c38b5f69f53 (diff)
downloadmailman-1d0413a125febd4e9867639ec309e7068d60a997.tar.gz
mailman-1d0413a125febd4e9867639ec309e7068d60a997.tar.zst
mailman-1d0413a125febd4e9867639ec309e7068d60a997.zip
Diffstat (limited to 'Mailman/Message.py')
-rw-r--r--Mailman/Message.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/Mailman/Message.py b/Mailman/Message.py
index 4df8b839e..e45c1722d 100644
--- a/Mailman/Message.py
+++ b/Mailman/Message.py
@@ -48,11 +48,12 @@ class Message(rfc822.Message):
information out of the message.
"""
- def __init__(self, fp):
+ def __init__(self, fp, filebase=None):
rfc822.Message.__init__(self, fp)
if self.seekable:
self.rewindbody()
self.body = self.fp.read()
+ self.__filebase = filebase
def __repr__(self):
"""Return the entire reproducible message.
@@ -142,10 +143,11 @@ class Message(rfc822.Message):
"""
# Calculate a unique name for the queue file
text = repr(self)
- hashfood = text + mlist.internal_name()
- filebase = sha.new(hashfood).hexdigest()
- msgfile = os.path.join(mm_cfg.QUEUE_DIR, filebase + '.msg')
- dbfile = os.path.join(mm_cfg.QUEUE_DIR, filebase + '.db')
+ if self.__filebase is None:
+ hashfood = text + mlist.internal_name() + `time.time()`
+ self.__filebase = sha.new(hashfood).hexdigest()
+ msgfile = os.path.join(mm_cfg.QUEUE_DIR, self.__filebase + '.msg')
+ dbfile = os.path.join(mm_cfg.QUEUE_DIR, self.__filebase + '.db')
# Initialize the information about this message delivery. It's
# possible a delivery attempt has been previously tried on this
# message, in which case, we'll just update the data.
@@ -157,6 +159,7 @@ class Message(rfc822.Message):
except (EOFError, ValueError, TypeError, IOError):
msgdata = {'listname' : mlist.internal_name(),
'version' : mm_cfg.QFILE_SCHEMA_VERSION,
+ 'filebase' : self.__filebase,
}
existsp = 0
# Merge in the additional msgdata