diff options
author | Giovane <giovaneliberato@gmail.com> | 2016-02-19 19:17:30 -0200 |
---|---|---|
committer | Giovane <giovaneliberato@gmail.com> | 2016-02-19 19:21:56 -0200 |
commit | f1b338e5564a8458c906f903ee7e0383dae86287 (patch) | |
tree | 486d770841bb0fede9c73145d066e585f7ca0eb7 /service/pixelated | |
parent | 940df3e2e12ff862c9e190fdfcd9a0278164a318 (diff) |
Filter keys from attachments #608 w/ @deniscostadsc
- Filtering attachments by content type application/pgp-keys
Diffstat (limited to 'service/pixelated')
-rw-r--r-- | service/pixelated/adapter/mailstore/leap_mailstore.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/service/pixelated/adapter/mailstore/leap_mailstore.py b/service/pixelated/adapter/mailstore/leap_mailstore.py index 6cbbe10a..72a16dfa 100644 --- a/service/pixelated/adapter/mailstore/leap_mailstore.py +++ b/service/pixelated/adapter/mailstore/leap_mailstore.py @@ -29,6 +29,9 @@ from pixelated.support import log_time_deferred from pixelated.support.functional import to_unicode +MIME_PGP_KEY = 'application/pgp-keys' + + class AttachmentInfo(object): def __init__(self, ident, name, encoding=None, ctype='application/octet-stream', size=0): self.ident = ident @@ -322,10 +325,14 @@ class LeapMailStore(MailStore): mbox_uuid = message.get_wrapper().fdoc.mbox_uuid mbox_name = yield self._mailbox_name_from_uuid(mbox_uuid) attachments = self._extract_attachment_info_from(message) + attachments = self._filter_keys(attachments) mail = LeapMail(mail_id, mbox_name, message.get_wrapper().hdoc.headers, set(message.get_tags()), set(message.get_flags()), body=body, attachments=attachments) # TODO assert flags are passed on defer.returnValue(mail) + def _filter_keys(self, attachments): + return filter(lambda attachment: attachment.ctype != MIME_PGP_KEY, attachments) + @defer.inlineCallbacks def _raw_message_body(self, message): content_doc = (yield message.get_wrapper().get_body(self.soledad)) |