summaryrefslogtreecommitdiffstats
path: root/kittystore/storm/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'kittystore/storm/model.py')
-rw-r--r--kittystore/storm/model.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/kittystore/storm/model.py b/kittystore/storm/model.py
index 469c5fa..a99f742 100644
--- a/kittystore/storm/model.py
+++ b/kittystore/storm/model.py
@@ -14,10 +14,12 @@ license.
import datetime
+from zope.interface import implements
from storm.locals import *
-from .hack_datetime import DateTime
+from mailman.interfaces.messages import IMessage
from kittystore.utils import get_message_id_hash
+from .hack_datetime import DateTime
__all__ = ("List", "Email",)
@@ -34,6 +36,7 @@ class List(object):
class Email(object):
+ implements(IMessage)
__storm_table__ = "email"
__storm_primary__ = "list_name", "message_id"
@@ -45,12 +48,14 @@ class Email(object):
content = Unicode()
date = DateTime()
in_reply_to = Unicode()
- hash_id = Unicode()
+ message_id_hash = Unicode()
thread_id = Unicode()
full = RawStr()
archived_date = DateTime(default_factory=datetime.datetime.now)
+ # path is required by IMessage, but it makes no sense here
+ path = None
def __init__(self, list_name, message_id):
self.list_name = unicode(list_name)
self.message_id = unicode(message_id)
- self.hash_id = unicode(get_message_id_hash(self.message_id))
+ self.message_id_hash = unicode(get_message_id_hash(self.message_id))