diff options
author | Victor Shyba <victor.shyba@gmail.com> | 2015-07-17 22:50:28 +0200 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-08-11 17:00:24 +0200 |
commit | ad65388274feaea5f4e0c3df0aafeb800825491e (patch) | |
tree | 694400cc3ebd1885694cc22cf3810669dc490982 /service/pixelated/resources | |
parent | 422c434224c965385a21d0d2948b005b6d44cccb (diff) |
fixing integration.test_tags
Diffstat (limited to 'service/pixelated/resources')
-rw-r--r-- | service/pixelated/resources/mail_resource.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/service/pixelated/resources/mail_resource.py b/service/pixelated/resources/mail_resource.py index 15ca1939..f11862af 100644 --- a/service/pixelated/resources/mail_resource.py +++ b/service/pixelated/resources/mail_resource.py @@ -16,11 +16,14 @@ class MailTags(Resource): def render_POST(self, request): new_tags = json.loads(request.content.read()).get('newtags') - try: - mail = self._mail_service.update_tags(self._mail_id, new_tags) - except ValueError as ve: - return respond_json(ve.message, request, 403) - return respond_json(mail.as_dict(), request) + d = self._mail_service.update_tags(self._mail_id, new_tags) + d.addCallback(lambda mail: respond_json_deferred(mail.as_dict(), request)) + + def handle403(failure): + failure.trap(ValueError) + return respond_json_deferred(failure.getErrorMessage(), request, 403) + d.addErrback(handle403) + return NOT_DONE_YET class Mail(Resource): |