diff options
author | Pierre-Yves David <pierre-yves.david@logilab.fr> | 2008-06-18 17:44:44 +0200 |
---|---|---|
committer | Pierre-Yves David <pierre-yves.david@logilab.fr> | 2008-06-18 17:44:44 +0200 |
commit | 2c908ac0b1c8131f340d8446c0b6ce4fdda32c46 (patch) | |
tree | fc28ed322e0bfa484903bc06f6f616e99945be0f /umessage.py | |
parent | ab4ee41e74012a80113183771d68447453c3e218 (diff) | |
download | logilab-common-2c908ac0b1c8131f340d8446c0b6ce4fdda32c46.tar.gz |
Improved robustess to wrong or unkowned encoding
Diffstat (limited to 'umessage.py')
-rw-r--r-- | umessage.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/umessage.py b/umessage.py index de8aded..52111f0 100644 --- a/umessage.py +++ b/umessage.py @@ -1,6 +1,7 @@ """unicode email support""" import email +from encodings import search_function from email.Utils import parseaddr, parsedate from email.Header import decode_header @@ -58,9 +59,9 @@ class UMessage: return payload charset = message.get_content_charset() or 'iso-8859-1' - if charset == 'unknown-8bit': + if search_function(charset) is None: charset = 'iso-8859-1' - return unicode(payload or '', charset) + return unicode(payload or '', charset, "replace") else: payload = UMessage(message.get_payload(index, decode)) return payload |