diff options
author | Sylvain <syt@logilab.fr> | 2006-10-31 14:48:39 +0100 |
---|---|---|
committer | Sylvain <syt@logilab.fr> | 2006-10-31 14:48:39 +0100 |
commit | da69367843a46f5fe0e418b252f4c4479fa3362b (patch) | |
tree | 916c9010b376d72b7f6ca05ef96c112d9bf83389 /umessage.py | |
parent | a2a0e35a6ccdf63efe95a1ca6d179c335e13b718 (diff) | |
download | logilab-common-da69367843a46f5fe0e418b252f4c4479fa3362b.tar.gz |
- new message_from_string function
- fixed get_payload encoding bug
Diffstat (limited to 'umessage.py')
-rw-r--r-- | umessage.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/umessage.py b/umessage.py index a42cb40..b28663f 100644 --- a/umessage.py +++ b/umessage.py @@ -21,6 +21,12 @@ def message_from_file(fd): except email.Errors.MessageParseError: return '' +def message_from_string(string): + try: + return UMessage(email.message_from_string(string)) + except email.Errors.MessageParseError: + return '' + class UMessage: """Encapsulates an email.Message instance and returns only unicode objects""" @@ -47,7 +53,8 @@ class UMessage: return [UMessage(msg) for msg in payload] if message.get_content_maintype() != 'text': return payload - return unicode(payload or '', message.get_charset() or 'iso-8859-15') + return unicode(payload or '', message.get_content_charset() + or 'iso-8859-15') else: payload = UMessage(message.get_payload(index, decode)) return payload |