From e214e3c86ca937754a2fe62e792cc7b9acf62b63 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 16 Jun 2016 09:39:31 +0530 Subject: [PATCH] Allow passing bytestrings as replacements to the localunzip module as well --- src/calibre/utils/localunzip.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/utils/localunzip.py b/src/calibre/utils/localunzip.py index 2b7165385b..5777f25822 100644 --- a/src/calibre/utils/localunzip.py +++ b/src/calibre/utils/localunzip.py @@ -283,7 +283,10 @@ class LocalZipFile(object): if header.filename in names: zi = ZipInfo(header.filename) zi.compress_type = header.compression_method - ztemp.writestr(zi, replacements[header.filename].read()) + r = replacements[header.filename] + if not isinstance(r, bytes): + r = r.read() + ztemp.writestr(zi, r) found.add(header.filename) else: ztemp.writestr(header.filename, self.read(header.filename,