summaryrefslogtreecommitdiff
path: root/umessage.py
diff options
context:
space:
mode:
authorPierre-Yves David <pierre-yves.david@logilab.fr>2008-06-18 17:44:44 +0200
committerPierre-Yves David <pierre-yves.david@logilab.fr>2008-06-18 17:44:44 +0200
commit2c908ac0b1c8131f340d8446c0b6ce4fdda32c46 (patch)
treefc28ed322e0bfa484903bc06f6f616e99945be0f /umessage.py
parentab4ee41e74012a80113183771d68447453c3e218 (diff)
downloadlogilab-common-2c908ac0b1c8131f340d8446c0b6ce4fdda32c46.tar.gz
Improved robustess to wrong or unkowned encoding
Diffstat (limited to 'umessage.py')
-rw-r--r--umessage.py5
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