From 21d4c5cccbd218fb5e654eb2369e5c4dad917259 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Wed, 15 Jul 2015 10:17:10 +0200 Subject: All mails now displays mails. --- service/pixelated/adapter/search/__init__.py | 1 + service/pixelated/adapter/services/mail_service.py | 5 ++++- service/pixelated/adapter/soledad/soledad_reader_mixin.py | 5 +++-- service/pixelated/config/services.py | 1 + service/pixelated/resources/mails_resource.py | 4 ++-- 5 files changed, 11 insertions(+), 5 deletions(-) (limited to 'service/pixelated') diff --git a/service/pixelated/adapter/search/__init__.py b/service/pixelated/adapter/search/__init__.py index b8d3e7ca..d2bd58c3 100644 --- a/service/pixelated/adapter/search/__init__.py +++ b/service/pixelated/adapter/search/__init__.py @@ -152,6 +152,7 @@ class SearchEngine(object): try: with AsyncWriter(self._index) as writer: for mail in mails: + print 'Mail fdoc: %s' % mail.fdoc self._index_mail(writer, mail) if callback: callback() diff --git a/service/pixelated/adapter/services/mail_service.py b/service/pixelated/adapter/services/mail_service.py index 46c3cfd1..01f22570 100644 --- a/service/pixelated/adapter/services/mail_service.py +++ b/service/pixelated/adapter/services/mail_service.py @@ -30,10 +30,13 @@ class MailService(object): def all_mails(self): defer.returnValue((yield self.querier.all_mails())) + @defer.inlineCallbacks def mails(self, query, window_size, page): mail_ids, total = self.search_engine.search(query, window_size, page) - return self.querier.mails(mail_ids), total + mails = yield self.querier.mails(mail_ids) + + defer.returnValue((mails, total)) def update_tags(self, mail_id, new_tags): new_tags = self._filter_white_space_tags(new_tags) diff --git a/service/pixelated/adapter/soledad/soledad_reader_mixin.py b/service/pixelated/adapter/soledad/soledad_reader_mixin.py index b365da7e..dab38376 100644 --- a/service/pixelated/adapter/soledad/soledad_reader_mixin.py +++ b/service/pixelated/adapter/soledad/soledad_reader_mixin.py @@ -69,11 +69,12 @@ class SoledadReaderMixin(SoledadDbFacadeMixin, object): return PixelatedMail.from_soledad(fdoc, hdoc, bdoc, parts=parts, soledad_querier=self) + @defer.inlineCallbacks def mails(self, idents): - fdocs_chash = [(self.get_flags_by_chash(ident), ident) for ident in + fdocs_chash = [((yield self.get_flags_by_chash(ident)), ident) for ident in idents] fdocs_chash = [(result, ident) for result, ident in fdocs_chash if result] - return self._build_mails_from_fdocs(fdocs_chash) + defer.returnValue((yield self._build_mails_from_fdocs(fdocs_chash))) @defer.inlineCallbacks def attachment(self, attachment_ident, encoding): diff --git a/service/pixelated/config/services.py b/service/pixelated/config/services.py index 93f31545..18e0295d 100644 --- a/service/pixelated/config/services.py +++ b/service/pixelated/config/services.py @@ -54,6 +54,7 @@ class Services(object): @defer.inlineCallbacks def setup_search_engine(self, leap_home, soledad_querier): key = yield soledad_querier.get_index_masterkey() + print 'The key len is: %s' % len(key) search_engine = SearchEngine(key, agent_home=leap_home) MailboxIndexerListener.SEARCH_ENGINE = search_engine self.search_engine = search_engine diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index 21ce01a2..37c789cf 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -91,9 +91,9 @@ class MailsResource(Resource): def render_GET(self, request): query, window_size, page = request.args.get('q')[0], request.args.get('w')[0], request.args.get('p')[0] - d, total = self._mail_service.mails(query, window_size, page) + d = self._mail_service.mails(query, window_size, page) - response = lambda mails: { + response = lambda (mails, total): { "stats": { "total": total, }, -- cgit v1.2.3