diff options
author | NavaL <ayoyo@thoughtworks.com> | 2016-10-19 15:23:17 +0200 |
---|---|---|
committer | Kali Kaneko (leap communications) <kali@leap.se> | 2016-10-19 16:48:57 -0400 |
commit | 0329b242c851ea1f05e795102638b01bbac7c231 (patch) | |
tree | 2f79783c08f8ef7d2b983f7548f5e450a66c120a | |
parent | 446280b452218569978da2a6d9ba5f8ef3e501b6 (diff) |
[feat] leap.mail: expose content charset as a separated attribute
Before we used to have content_doc.content_type = 'text/plain;
charset="utf-8"'.
Currently, we have content_doc.content_type = 'text/plain'.
This change will give us, on top of that: content_doc.charset = 'utf-8'.
One can reconstruct the original one using .content_type and .charset.
-rw-r--r-- | src/leap/bitmask/mail/adaptors/soledad.py | 1 | ||||
-rw-r--r-- | src/leap/bitmask/mail/walk.py | 1 | ||||
-rw-r--r-- | tests/integration/mail/adaptors/test_soledad_adaptor.py | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/src/leap/bitmask/mail/adaptors/soledad.py b/src/leap/bitmask/mail/adaptors/soledad.py index 4a8008d..665cef2 100644 --- a/src/leap/bitmask/mail/adaptors/soledad.py +++ b/src/leap/bitmask/mail/adaptors/soledad.py @@ -432,6 +432,7 @@ class ContentDocWrapper(SoledadDocumentWrapper): content_disposition = "" content_transfer_encoding = "" content_type = "" + charset = "" class __meta__(object): index = "phash" diff --git a/src/leap/bitmask/mail/walk.py b/src/leap/bitmask/mail/walk.py index 61bbe0b..6c9fc38 100644 --- a/src/leap/bitmask/mail/walk.py +++ b/src/leap/bitmask/mail/walk.py @@ -79,6 +79,7 @@ def get_raw_docs(msg): 'raw': part.get_payload(), 'phash': get_hash(part.get_payload()), 'content-type': part.get_content_type(), + 'charset': part.get_content_charset(), 'content-disposition': first(part.get( 'content-disposition', '').split(';')), 'content-transfer-encoding': part.get( diff --git a/tests/integration/mail/adaptors/test_soledad_adaptor.py b/tests/integration/mail/adaptors/test_soledad_adaptor.py index 8d2ebb5..72b0be8 100644 --- a/tests/integration/mail/adaptors/test_soledad_adaptor.py +++ b/tests/integration/mail/adaptors/test_soledad_adaptor.py @@ -346,6 +346,8 @@ class SoledadMailAdaptorTestCase(SoledadTestMixin): self.assertEqual( 'text/plain', msg.wrapper.cdocs[1].content_type) self.assertEqual( + 'utf-8', msg.wrapper.cdocs[1].charset) + self.assertEqual( 'YSB1dGY4IG1lc3NhZ2U=\n', msg.wrapper.cdocs[1].raw) def test_get_msg_from_docs(self): |