summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael J Gruber <github@grubix.eu>2019-02-04 18:01:39 +0100
committerPatrick Totzke <patricktotzke@gmail.com>2019-02-07 13:04:12 +0000
commit61b1c65b143e0a2b63c3eecc9b3adde34857daec (patch)
tree3f383ac84204a05bce80411aff164e14a0f04b2d
parent0a55181562e931abf050124b600ce835dfce8f01 (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.py4
-rw-r--r--tests/db/test_utils.py1
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'))