From ca2be15686064d3ece97261df72560a4f91ade4d Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Thu, 23 Jul 2015 18:10:20 +0200 Subject: Added include_body to get_mail. --- service/pixelated/adapter/mailstore/leap_mailstore.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'service/pixelated') diff --git a/service/pixelated/adapter/mailstore/leap_mailstore.py b/service/pixelated/adapter/mailstore/leap_mailstore.py index a39f4eae..893eb52b 100644 --- a/service/pixelated/adapter/mailstore/leap_mailstore.py +++ b/service/pixelated/adapter/mailstore/leap_mailstore.py @@ -38,6 +38,7 @@ class LeapMail(Mail): 'header': {k.lower(): v for k, v in self.headers.items()}, 'ident': self._mail_id, 'tags': self._tags, + 'body': self._body } @@ -49,12 +50,13 @@ class LeapMailStore(MailStore): self.soledad = soledad @defer.inlineCallbacks - def get_mail(self, mail_id): + def get_mail(self, mail_id, include_body=False): try: message = yield SoledadMailAdaptor().get_msg_from_mdoc_id(Message, self.soledad, mail_id) + leap_mail = yield self._leap_message_to_leap_mail(mail_id, message, include_body) - defer.returnValue(self._leap_message_to_leap_mail(mail_id, message)) - except AttributeError: + defer.returnValue(leap_mail) + except AttributeError, e: defer.returnValue(None) def get_mails(self, mail_ids): @@ -64,6 +66,13 @@ class LeapMailStore(MailStore): return defer.gatherResults(deferreds, consumeErrors=True) - def _leap_message_to_leap_mail(self, mail_id, message): - return LeapMail(mail_id, message.get_headers(), message.get_tags()) + @defer.inlineCallbacks + def _leap_message_to_leap_mail(self, mail_id, message, include_body): + if include_body: + body = (yield message._wrapper.get_body(self.soledad)).raw + else: + body = None + mail = LeapMail(mail_id, message.get_headers(), message.get_tags(), body=body) + + defer.returnValue(mail) -- cgit v1.2.3