1
0
mirror of https://github.com/gryf/ebook-converter.git synced 2026-03-24 19:33:33 +01:00

Removed polyglots unicode_type usage

This commit is contained in:
2020-04-20 19:25:28 +02:00
parent ef7e2b10be
commit 128705f258
130 changed files with 657 additions and 716 deletions

View File

@@ -10,7 +10,7 @@ from tempfile import SpooledTemporaryFile
from ebook_converter import sanitize_file_name
from ebook_converter.constants import filesystem_encoding
from ebook_converter.ebooks.chardet import detect
from ebook_converter.polyglot.builtins import unicode_type, string_or_bytes, getcwd, as_bytes
from ebook_converter.polyglot.builtins import string_or_bytes, getcwd, as_bytes
try:
import zlib # We may need its compression method
@@ -143,7 +143,7 @@ _CD64_OFFSET_START_CENTDIR = 9
def decode_arcname(name):
if not isinstance(name, unicode_type):
if not isinstance(name, str):
try:
name = name.decode('utf-8')
except Exception:
@@ -395,7 +395,7 @@ class ZipInfo (object):
return header + filename + extra
def _encodeFilenameFlags(self):
if isinstance(self.filename, unicode_type):
if isinstance(self.filename, str):
return self.filename.encode('utf-8'), self.flag_bits | 0x800
else:
return self.filename, self.flag_bits
@@ -1214,7 +1214,7 @@ class ZipFile:
arcname = os.path.normpath(os.path.splitdrive(arcname)[1])
while arcname[0] in (os.sep, os.altsep):
arcname = arcname[1:]
if not isinstance(arcname, unicode_type):
if not isinstance(arcname, str):
arcname = arcname.decode(filesystem_encoding)
if isdir and not arcname.endswith('/'):
arcname += '/'
@@ -1292,7 +1292,7 @@ class ZipFile:
if not isinstance(byts, bytes):
byts = byts.encode('utf-8')
if not isinstance(zinfo_or_arcname, ZipInfo):
if not isinstance(zinfo_or_arcname, unicode_type):
if not isinstance(zinfo_or_arcname, str):
zinfo_or_arcname = zinfo_or_arcname.decode(filesystem_encoding)
zinfo = ZipInfo(filename=zinfo_or_arcname,
date_time=time.localtime(time.time())[:6])
@@ -1496,7 +1496,7 @@ def safe_replace(zipstream, name, datastream, extra_replacements={},
with SpooledTemporaryFile(max_size=100*1024*1024) as temp:
ztemp = ZipFile(temp, 'w')
for obj in z.infolist():
if isinstance(obj.filename, unicode_type):
if isinstance(obj.filename, str):
obj.flag_bits |= 0x16 # Set isUTF-8 bit
if obj.filename in names:
ztemp.writestr(obj, rbytes(obj.filename))