| |
@@ -0,0 +1,37 @@
|
| |
+ From a266f068c03fc404316f6f7d9c7607b1365efdf2 Mon Sep 17 00:00:00 2001
|
| |
+ From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
| |
+ Date: Sat, 16 Jul 2022 07:55:47 +0200
|
| |
+ Subject: [PATCH] Low effort port to charset_normalizer
|
| |
+
|
| |
+ See https://github.com/PyYoshi/cChardet/issues/77
|
| |
+ ---
|
| |
+ src/calibre/ebooks/chardet.py | 2 +-
|
| |
+ src/calibre/test_build.py | 2 +-
|
| |
+ 2 files changed, 2 insertions(+), 2 deletions(-)
|
| |
+
|
| |
+ diff --git a/src/calibre/ebooks/chardet.py b/src/calibre/ebooks/chardet.py
|
| |
+ index 53fe6c51087..92a8accdafb 100644
|
| |
+ --- a/src/calibre/ebooks/chardet.py
|
| |
+ +++ b/src/calibre/ebooks/chardet.py
|
| |
+ @@ -103,7 +103,7 @@ def substitute_entites(raw):
|
| |
+
|
| |
+
|
| |
+ def detect(bytestring):
|
| |
+ - from cchardet import detect as implementation
|
| |
+ + from charset_normalizer import detect as implementation
|
| |
+ ans = implementation(bytestring)
|
| |
+ enc = ans.get('encoding')
|
| |
+ if enc:
|
| |
+ diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
|
| |
+ index c0f50292160..ba89dea28d0 100644
|
| |
+ --- a/src/calibre/test_build.py
|
| |
+ +++ b/src/calibre/test_build.py
|
| |
+ @@ -73,7 +73,7 @@ def test_pychm(self):
|
| |
+ del CHMFile, chmlib
|
| |
+
|
| |
+ def test_chardet(self):
|
| |
+ - from cchardet import detect
|
| |
+ + from charset_normalizer import detect
|
| |
+ raw = 'mūsi Füße'.encode()
|
| |
+ data = detect(raw)
|
| |
+ self.assertEqual(data['encoding'].lower(), 'utf-8')
|
| |
cchardet seems unmaintained and does not install/work with Python 3.11