From 7c385309dfe9fcfbbad012d46f44e0b19aee82b1 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Tue, 25 Aug 2015 18:36:51 -0300 Subject: [refactor] remove mailbox references Extracted listener logic and removed remaining mailboxes references Issues -- #439 -- #440 --- service/pixelated/resources/mails_resource.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'service/pixelated/resources/mails_resource.py') diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index e18fe2c3..ce05ff3a 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -2,7 +2,7 @@ import json from pixelated.adapter.services.mail_sender import SMTPDownException from pixelated.adapter.model.mail import InputMail from twisted.web.server import NOT_DONE_YET -from pixelated.resources import respond_json, respond_json_deferred +from pixelated.resources import respond_json_deferred from twisted.web.resource import Resource from twisted.web import server from twisted.internet import defer @@ -85,9 +85,13 @@ class MailsRecoverResource(Resource): def render_POST(self, request): idents = json.loads(request.content.read())['idents'] + deferreds = [] for ident in idents: - self._mail_service.recover_mail(ident) - return respond_json(None, request) + deferreds.append(self._mail_service.recover_mail(ident)) + 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 MailsResource(Resource): -- cgit v1.2.3