diff options
| author | Aurélien Bompard <aurelien@bompard.org> | 2013-12-01 11:56:47 +0100 |
|---|---|---|
| committer | Aurélien Bompard <aurelien@bompard.org> | 2013-12-01 11:56:47 +0100 |
| commit | 44ba756ec484b02d8e84f34321b5d342cb3e47fe (patch) | |
| tree | 4e147888f41649af7414ce1726df68856d56e6e9 | |
| parent | ee48a854196dddf95de3fb06a73cc5f4c9912417 (diff) | |
| download | kittystore-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.py | 12 |
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: |
