summaryrefslogtreecommitdiff
path: root/service/pixelated/resources/mails_resource.py
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-07-22 09:37:24 +0000
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 17:00:27 +0200
commit414f210a908427da10a90fb4c8c83d58e1496b26 (patch)
tree45b6eb2e12a15232f732993658cbe9276cd4b4cc /service/pixelated/resources/mails_resource.py
parentcb0c0b7905be251191e9ef78908d84ed617283c8 (diff)
Fixed test_delete_mail integration test.
Diffstat (limited to 'service/pixelated/resources/mails_resource.py')
-rw-r--r--service/pixelated/resources/mails_resource.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py
index 27232ffc..1056dcdb 100644
--- a/service/pixelated/resources/mails_resource.py
+++ b/service/pixelated/resources/mails_resource.py
@@ -6,6 +6,7 @@ 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 twisted.python.log import err
from leap.common.events import (
register,
catalog as events
@@ -60,10 +61,19 @@ class MailsDeleteResource(Resource):
self._mail_service = mail_service
def render_POST(self, request):
+ def response_failed(failure):
+ err(failure, 'something failed')
+ request.finish()
+
idents = json.loads(request.content.read())['idents']
+ deferreds = []
for ident in idents:
- self._mail_service.delete_mail(ident)
- return respond_json(None, request)
+ deferreds.append(self._mail_service.delete_mail(ident))
+
+ d = defer.gatherResults(deferreds, consumeErrors=True)
+ d.addCallback(lambda _: respond_json_deferred(None, request))
+ d.addErrback(response_failed)
+ return NOT_DONE_YET
class MailsRecoverResource(Resource):