summaryrefslogtreecommitdiff
path: root/service/pixelated
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-07-15 10:17:10 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 17:00:23 +0200
commit21d4c5cccbd218fb5e654eb2369e5c4dad917259 (patch)
tree8e31c13b14ad3389da5d14d5384188b3354581bd /service/pixelated
parent72c7d1da2c50621fb93e18687beb089c2d2723b8 (diff)
All mails now displays mails.
Diffstat (limited to 'service/pixelated')
-rw-r--r--service/pixelated/adapter/search/__init__.py1
-rw-r--r--service/pixelated/adapter/services/mail_service.py5
-rw-r--r--service/pixelated/adapter/soledad/soledad_reader_mixin.py5
-rw-r--r--service/pixelated/config/services.py1
-rw-r--r--service/pixelated/resources/mails_resource.py4
5 files changed, 11 insertions, 5 deletions
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,
},