summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2012-09-13 17:11:01 +0200
committerAurélien Bompard <aurelien@bompard.org>2012-09-13 17:11:01 +0200
commit69b1a92df2a3c35ae872100d6607d782db86df2f (patch)
treeeec377cf3fc9268996d850f122322708e143f9ed
parent9df6a84967b9e71c370c628542d517d97893067e (diff)
downloadkittystore-69b1a92df2a3c35ae872100d6607d782db86df2f.tar.gz
kittystore-69b1a92df2a3c35ae872100d6607d782db86df2f.tar.xz
kittystore-69b1a92df2a3c35ae872100d6607d782db86df2f.zip
Fix payload extraction on plain text messages
-rw-r--r--kittystore/utils.py9
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: