diff options
author | Victor Shyba <victor.shyba@gmail.com> | 2015-08-30 17:53:17 -0300 |
---|---|---|
committer | Victor Shyba <victor.shyba@gmail.com> | 2015-08-30 17:53:17 -0300 |
commit | 97b50f5b886928c70edcbcea149ced10f7065f19 (patch) | |
tree | 320b7e75096a5b52c0fe672920cf66a1fff08459 /service/pixelated/adapter/mailstore | |
parent | 386398020f172be82bf27dd03c509e91c7e2a6d8 (diff) |
[refactor] Move search mails into searchable_mailstore
This is needed in order to be able to remove search engine from
mail_service. As #430
Diffstat (limited to 'service/pixelated/adapter/mailstore')
-rw-r--r-- | service/pixelated/adapter/mailstore/searchable_mailstore.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/service/pixelated/adapter/mailstore/searchable_mailstore.py b/service/pixelated/adapter/mailstore/searchable_mailstore.py index 0c5310eb..d53f13d7 100644 --- a/service/pixelated/adapter/mailstore/searchable_mailstore.py +++ b/service/pixelated/adapter/mailstore/searchable_mailstore.py @@ -32,6 +32,18 @@ class SearchableMailStore(object): # implementes MailStore setattr(cls, method_name, delegator) @defer.inlineCallbacks + def search_mails(self, query, window_size, page): + mail_ids, total = self._search_engine.search(query, window_size, page) + + try: + mails = yield self.get_mails(mail_ids) + defer.returnValue((mails, total)) + except Exception, e: + import traceback + traceback.print_exc() + raise + + @defer.inlineCallbacks def add_mail(self, mailbox_name, mail): stored_mail = yield self._delegate.add_mail(mailbox_name, mail) self._search_engine.index_mail(stored_mail) |