diff options
| author | Victor Shyba <victor.shyba@gmail.com> | 2015-07-14 22:09:44 +0200 | 
|---|---|---|
| committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-08-11 17:00:22 +0200 | 
| commit | 53b8653ead645247b1afc24645db3ea868d46378 (patch) | |
| tree | 9a5697ee7a5128291abdac684d59eed83d80f94a | |
| parent | 60e5e19b60ad772c5f53f942b0e974f188385e2e (diff) | |
/mails resource handle deferreds
| -rw-r--r-- | service/pixelated/resources/mails_resource.py | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index cddaa0ec..21ce01a2 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -1,6 +1,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 twisted.web.resource import Resource  from twisted.web import server @@ -90,16 +91,18 @@ 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] -        mails, total = self._mail_service.mails(query, window_size, page) +        d, total = self._mail_service.mails(query, window_size, page) -        response = { +        response = lambda mails: {              "stats": {                  "total": total,              },              "mails": [mail.as_dict() for mail in mails]          } +        d.addCallback(response) +        d.addCallback(lambda res: respond_json_deferred(res, request)) -        return respond_json(response, request) +        return NOT_DONE_YET      def render_POST(self, request):          content_dict = json.loads(request.content.read())  | 
