diff options
author | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-07-21 14:48:52 +0000 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-08-11 17:00:26 +0200 |
commit | ba1d6edfc144c0549e88392a8414a147a9f30931 (patch) | |
tree | 4a66870fb40352bb1dfbef4417761df1e2444605 /service/pixelated/resources/mails_resource.py | |
parent | 9b564a2529326668a0752b3b103bffc145d94417 (diff) |
Fixed MarkAsReadUnreadTest#test_mark_single_as_read and underlying implementation.
Diffstat (limited to 'service/pixelated/resources/mails_resource.py')
-rw-r--r-- | service/pixelated/resources/mails_resource.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index ef112900..0651a909 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -5,6 +5,7 @@ from twisted.web.server import NOT_DONE_YET from pixelated.resources import respond_json, respond_json_deferred from twisted.web.resource import Resource from twisted.web import server +from twisted.internet import defer from leap.common.events import ( register, catalog as events @@ -34,10 +35,15 @@ class MailsReadResource(Resource): def render_POST(self, request): idents = json.load(request.content).get('idents') + deferreds = [] for ident in idents: - self._mail_service.mark_as_read(ident) + deferreds.append(self._mail_service.mark_as_read(ident)) - return respond_json(None, request) + d = defer.gatherResults(deferreds, consumeErrors=True) + d.addCallback(lambda _: respond_json_deferred(None, request)) + d.addErrback(lambda _: respond_json_deferred(None, request, status_code=500)) + + return NOT_DONE_YET class MailsDeleteResource(Resource): |