summaryrefslogtreecommitdiff
path: root/Mailman/database/model/message.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/database/model/message.py')
-rw-r--r--Mailman/database/model/message.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/Mailman/database/model/message.py b/Mailman/database/model/message.py
index eb4b4616d..c4ea4a636 100644
--- a/Mailman/database/model/message.py
+++ b/Mailman/database/model/message.py
@@ -15,18 +15,28 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
-from elixir import *
+from storm.locals import *
from zope.interface import implements
+from Mailman.configuration import config
+from Mailman.database import Model
from Mailman.interfaces import IMessage
-class Message(Entity):
+class Message(Model):
"""A message in the message store."""
implements(IMessage)
- hash = Field(Unicode)
- path = Field(Unicode)
- message_id = Field(Unicode)
+ id = Int(primary=True, default=AutoReload)
+ message_id = Unicode()
+ hash = RawStr()
+ path = RawStr()
+ # This is a Messge-ID field representation, not a database row id.
+
+ def __init__(self, message_id, hash, path):
+ self.message_id = message_id
+ self.hash = hash
+ self.path = path
+ config.db.store.add(self)