summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/mailstore/leap_mailstore.py
diff options
context:
space:
mode:
authorGiovane <giovaneliberato@gmail.com>2016-02-19 19:17:30 -0200
committerGiovane <giovaneliberato@gmail.com>2016-02-19 19:21:56 -0200
commitf1b338e5564a8458c906f903ee7e0383dae86287 (patch)
tree486d770841bb0fede9c73145d066e585f7ca0eb7 /service/pixelated/adapter/mailstore/leap_mailstore.py
parent940df3e2e12ff862c9e190fdfcd9a0278164a318 (diff)
Filter keys from attachments #608 w/ @deniscostadsc
- Filtering attachments by content type application/pgp-keys
Diffstat (limited to 'service/pixelated/adapter/mailstore/leap_mailstore.py')
-rw-r--r--service/pixelated/adapter/mailstore/leap_mailstore.py7
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))