diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2012-09-13 17:11:01 +0200 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2012-09-13 17:11:01 +0200 |
commit | 69b1a92df2a3c35ae872100d6607d782db86df2f (patch) | |
tree | eec377cf3fc9268996d850f122322708e143f9ed | |
parent | 9df6a84967b9e71c370c628542d517d97893067e (diff) | |
download | kittystore-69b1a92df2a3c35ae872100d6607d782db86df2f.tar.gz kittystore-69b1a92df2a3c35ae872100d6607d782db86df2f.tar.xz kittystore-69b1a92df2a3c35ae872100d6607d782db86df2f.zip |
Fix payload extraction on plain text messages
-rw-r--r-- | kittystore/utils.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kittystore/utils.py b/kittystore/utils.py index d5d84a7..af3a150 100644 --- a/kittystore/utils.py +++ b/kittystore/utils.py @@ -78,10 +78,13 @@ def payload_to_unicode(message): # Turn non-ascii into Unicode, assuming UTF-8 payload = [] for part in message.walk(): + if part.get_content_type() != "text/plain": + continue # TODO: handle HTML messages and attachments + part_payload = part.get_payload() if part.get_content_charset() is None: for encoding in ["ascii", "utf-8", "iso-8859-15"]: try: - payload.append(unicode(part.get_payload().decode(encoding))) + part_payload = part_payload.decode(encoding) except UnicodeDecodeError: continue else: @@ -96,8 +99,8 @@ def payload_to_unicode(message): # print message.items() # print part.get_payload() # raise - #return message.get_payload() - return "".join(payload) + payload.append(unicode(part_payload)) + return unicode("".join(payload)) def parsedate(datestring): if datestring is None: |