summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-12-01 11:56:47 +0100
committerAurélien Bompard <aurelien@bompard.org>2013-12-01 11:56:47 +0100
commit44ba756ec484b02d8e84f34321b5d342cb3e47fe (patch)
tree4e147888f41649af7414ce1726df68856d56e6e9
parentee48a854196dddf95de3fb06a73cc5f4c9912417 (diff)
downloadkittystore-44ba756ec484b02d8e84f34321b5d342cb3e47fe.tar.gz
kittystore-44ba756ec484b02d8e84f34321b5d342cb3e47fe.tar.xz
kittystore-44ba756ec484b02d8e84f34321b5d342cb3e47fe.zip
Add get_message_count_by_user_id to the store
-rw-r--r--kittystore/storm/store.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/kittystore/storm/store.py b/kittystore/storm/store.py
index 7129057..5c2f917 100644
--- a/kittystore/storm/store.py
+++ b/kittystore/storm/store.py
@@ -70,7 +70,7 @@ class StormStore(object):
an X-Message-ID-Hash header, overriding any existing such
header.
:returns: The calculated X-Message-ID-Hash header.
- :raises ValueError: if the message is missing a Message-ID
+ :raises ValueError: if the message is missing a Message-ID
header.
The storage service is also allowed to raise this exception
if it find, but disallows collisions.
@@ -616,6 +616,16 @@ class StormStore(object):
result = self.db.find(Email.message_id_hash, clause)
return list(result)
+ def get_message_count_by_user_id(self, user_id, list_name=None):
+ """ Returns a user's email hashes """
+ if list_name is None:
+ clause = Email.user_id == unicode(user_id)
+ else:
+ clause = And(Email.user_id == unicode(user_id),
+ Email.list_name == unicode(list_name))
+ result = self.db.find(Email.message_id_hash, clause)
+ return result.count()
+
def get_messages_by_user_id(self, user_id, list_name=None):
""" Returns a user's email hashes """
if list_name is None: