From 97b50f5b886928c70edcbcea149ced10f7065f19 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Sun, 30 Aug 2015 17:53:17 -0300 Subject: [refactor] Move search mails into searchable_mailstore This is needed in order to be able to remove search engine from mail_service. As #430 --- service/pixelated/adapter/mailstore/searchable_mailstore.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'service/pixelated/adapter/mailstore') 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 @@ -31,6 +31,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) -- cgit v1.2.3