diff options
| author | bwarsaw | 2000-07-26 05:29:07 +0000 |
|---|---|---|
| committer | bwarsaw | 2000-07-26 05:29:07 +0000 |
| commit | 1d0413a125febd4e9867639ec309e7068d60a997 (patch) | |
| tree | 60888e3585c69078ec55d916ed42cd9e937dc9e0 | |
| parent | ec02cd63f10f28d4a522ecfa0dfa1c38b5f69f53 (diff) | |
| download | mailman-1d0413a125febd4e9867639ec309e7068d60a997.tar.gz mailman-1d0413a125febd4e9867639ec309e7068d60a997.tar.zst mailman-1d0413a125febd4e9867639ec309e7068d60a997.zip | |
| -rw-r--r-- | Mailman/Message.py | 13 |
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 |
