diff options
| author | Barry Warsaw | 2007-07-22 19:52:34 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2007-07-22 19:52:34 -0400 |
| commit | 2e4314fc178f34170b82aaa2f8ed4d0f5440f4f4 (patch) | |
| tree | fa45f70d2643a8f42d727feb9de694e7c78ac1a8 /Mailman/database/model/message.py | |
| parent | 8158f01c930d856b0ff892aab53cfbbcc25c85ec (diff) | |
| download | mailman-2e4314fc178f34170b82aaa2f8ed4d0f5440f4f4.tar.gz mailman-2e4314fc178f34170b82aaa2f8ed4d0f5440f4f4.tar.zst mailman-2e4314fc178f34170b82aaa2f8ed4d0f5440f4f4.zip | |
The start of a message store definition. Whether this will end up being used
for the archive or not is left to be seen.
Define an interface, test, and implementation of a basic message store using
globally unique identifiers of the form: archive/hash/seqno
- archive is the base url of the archive, e.g. http://archives.example.com.
This is available in the List-Archive header.
- hash is the base32 encoded sha1 hash of the message's Message-ID and Date
headers, which it must have. This is available in the X-List-ID-Hash
header.
- seqno is a sequence number specific to the archive which will uniquely
identify the message should there be a Message-ID/Date collision. this is
available in the X-List-Sequence-Number header.
Added a MESSAGES_DIR variable to the config.
Added a .message_store attribute to the config.
Diffstat (limited to 'Mailman/database/model/message.py')
| -rw-r--r-- | Mailman/database/model/message.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Mailman/database/model/message.py b/Mailman/database/model/message.py new file mode 100644 index 000000000..df8371c6a --- /dev/null +++ b/Mailman/database/model/message.py @@ -0,0 +1,30 @@ +# Copyright (C) 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. + +from elixir import * +from zope.interface import implements + + + +class Message(Entity): + """A message in the message store.""" + + has_field('hash', Unicode) + has_field('path', Unicode) + has_field('message_id', Unicode) + + using_options(shortnames=True) |
