diff options
author | Doroth?e S?n?chal <dorothee.senechal@logilab.fr> | 2009-04-08 19:21:50 +0200 |
---|---|---|
committer | Doroth?e S?n?chal <dorothee.senechal@logilab.fr> | 2009-04-08 19:21:50 +0200 |
commit | cc2b5eea1a2adac4df2df6292c713723656f54c6 (patch) | |
tree | 9b20e2411fb4c381bd434e4f00294a411edc77d2 | |
parent | 45d67eb4a7f4518ee941880cadc33bc43778d68d (diff) | |
download | logilab-common-cc2b5eea1a2adac4df2df6292c713723656f54c6.tar.gz |
[#6760] the decode_QP function always handles encoded lines with no charset definition
-rw-r--r-- | test/unittest_umessage.py | 8 | ||||
-rw-r--r-- | umessage.py | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/test/unittest_umessage.py b/test/unittest_umessage.py index 885301a..625fdf9 100644 --- a/test/unittest_umessage.py +++ b/test/unittest_umessage.py @@ -1,7 +1,7 @@ # encoding: iso-8859-15 from logilab.common.testlib import TestCase, unittest_main -from logilab.common.umessage import UMessage +from logilab.common.umessage import UMessage, decode_QP import email @@ -26,6 +26,12 @@ class UMessageTC(TestCase): def test_get_payload_no_multi(self): payload = self.umessage1.get_payload() self.assertEquals(type(payload), unicode) + + def test_decode_QP(self): + test_line = '=??b?UmFwaGHrbA==?= DUPONT<raphael.dupont@societe.fr>' + test = decode_QP(test_line) + self.assertEquals(type(test), unicode) + self.assertEquals(test, u'Raphaël DUPONT<raphael.dupont@societe.fr>') if __name__ == '__main__': diff --git a/umessage.py b/umessage.py index f5b4db5..4aa52fe 100644 --- a/umessage.py +++ b/umessage.py @@ -19,7 +19,7 @@ except ImportError: def decode_QP(string): parts = [] for decoded, charset in decode_header(string): - if charset is None: + if not charset : charset = 'iso-8859-15' parts.append(unicode(decoded, charset, 'replace')) |