summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoroth?e S?n?chal <dorothee.senechal@logilab.fr>2009-04-08 19:21:50 +0200
committerDoroth?e S?n?chal <dorothee.senechal@logilab.fr>2009-04-08 19:21:50 +0200
commitcc2b5eea1a2adac4df2df6292c713723656f54c6 (patch)
tree9b20e2411fb4c381bd434e4f00294a411edc77d2
parent45d67eb4a7f4518ee941880cadc33bc43778d68d (diff)
downloadlogilab-common-cc2b5eea1a2adac4df2df6292c713723656f54c6.tar.gz
[#6760] the decode_QP function always handles encoded lines with no charset definition
-rw-r--r--test/unittest_umessage.py8
-rw-r--r--umessage.py2
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'))