diff options
author | Michael J Gruber <github@grubix.eu> | 2019-02-04 18:01:39 +0100 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2019-02-07 13:04:12 +0000 |
commit | 61b1c65b143e0a2b63c3eecc9b3adde34857daec (patch) | |
tree | 3f383ac84204a05bce80411aff164e14a0f04b2d | |
parent | 0a55181562e931abf050124b600ce835dfce8f01 (diff) |
restore lenient libmagic decoding
176cffcd ("refactor alot.db.utils.remove_cte", 2018-12-04) created a few
problems with 8bit quoted-printable e-mails, see #1291 #1360.
This commit restores the old libmagic fallback which did not cause this
problem.
-rw-r--r-- | alot/db/utils.py | 4 | ||||
-rw-r--r-- | tests/db/test_utils.py | 1 |
2 files changed, 2 insertions, 3 deletions
diff --git a/alot/db/utils.py b/alot/db/utils.py index ea0963c1..94886148 100644 --- a/alot/db/utils.py +++ b/alot/db/utils.py @@ -446,9 +446,9 @@ def remove_cte(part, as_string=False): sp = helper.try_decode(bp) except UnicodeDecodeError as emsg: # the mail contains chars that are not enc-encoded. - # try again and just ignore those + # libmagic works better than just ignoring those logging.debug('Decoding failure: {}'.format(emsg)) - sp = bp.decode(enc, errors='ignore') + sp = helper.try_decode(bp) return sp return bp diff --git a/tests/db/test_utils.py b/tests/db/test_utils.py index 7d54741f..f6249542 100644 --- a/tests/db/test_utils.py +++ b/tests/db/test_utils.py @@ -711,7 +711,6 @@ class TestExtractBody(unittest.TestCase): self.assertEqual(actual, expected) - @unittest.expectedFailure def test_simple_utf8_file(self): mail = email.message_from_binary_file( open('tests/static/mail/utf8.eml', 'rb')) |