diff options
author | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-09-08 22:22:57 -0300 |
---|---|---|
committer | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-09-08 22:25:08 -0300 |
commit | 3802f0a55a383fa9314236e0d0905b963ea8f297 (patch) | |
tree | d5fcc931098eaf943b1733bd0aa3444770fd2675 /service/pixelated/adapter/mailstore | |
parent | b50a8ac110fc08e543a78d063844e60b7b28efae (diff) |
Some progress on the issue #441
I added some comments and TODOs in some parts of the code where I think
should be changed
Diffstat (limited to 'service/pixelated/adapter/mailstore')
-rw-r--r-- | service/pixelated/adapter/mailstore/leap_mailstore.py | 18 | ||||
-rw-r--r-- | service/pixelated/adapter/mailstore/searchable_mailstore.py | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/service/pixelated/adapter/mailstore/leap_mailstore.py b/service/pixelated/adapter/mailstore/leap_mailstore.py index a27ce5c4..6dad12b0 100644 --- a/service/pixelated/adapter/mailstore/leap_mailstore.py +++ b/service/pixelated/adapter/mailstore/leap_mailstore.py @@ -162,6 +162,24 @@ class LeapMail(Mail): return [recipient for recipient in recipients if recipient != InputMail.FROM_EMAIL_ADDRESS] + @property + def bounced(self): + # TODO: Must be implemented for the search engine identify bounced mails + return False + + @staticmethod + def from_dict(mail_dict): + # TODO: implement this method and also write tests for it + headers = {key.capitalize(): value for key, value in mail_dict.get('header', {}).items()} + headers['Date'] = date.iso_now() + body = mail_dict.get('body', '') + tags = set(mail_dict.get('tags', [])) + status = set(mail_dict.get('status', [])) + attachments = [] + + # mail_id, mailbox_name, headers=None, tags=set(), flags=set(), body=None, attachments=[] + return LeapMail(None, None, headers, tags, set(), body, attachments) + def _extract_filename(content_disposition): match = re.compile('.*name=\"(.*)\".*').search(content_disposition) diff --git a/service/pixelated/adapter/mailstore/searchable_mailstore.py b/service/pixelated/adapter/mailstore/searchable_mailstore.py index 0c5310eb..8ffc41b8 100644 --- a/service/pixelated/adapter/mailstore/searchable_mailstore.py +++ b/service/pixelated/adapter/mailstore/searchable_mailstore.py @@ -34,6 +34,8 @@ class SearchableMailStore(object): # implementes MailStore @defer.inlineCallbacks def add_mail(self, mailbox_name, mail): stored_mail = yield self._delegate.add_mail(mailbox_name, mail) + # the stored_mail dont't have a content type needed for identify + # that the email is bounced or not, but this header is setted on input_mail self._search_engine.index_mail(stored_mail) defer.returnValue(stored_mail) |