From bca47af4331737e8274cf27bb61ed0cab8febab7 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Mon, 22 Apr 2019 23:35:35 -0400 Subject: [PATCH] py3: make Polish Book work str() template cannot be formatted with an encoded bytestring because b''.__str__() is unuseful. So just defer encoding to right before writing. --- src/calibre/ebooks/oeb/polish/cover.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/ebooks/oeb/polish/cover.py b/src/calibre/ebooks/oeb/polish/cover.py index 941ef71d17..42cda86bf5 100644 --- a/src/calibre/ebooks/oeb/polish/cover.py +++ b/src/calibre/ebooks/oeb/polish/cover.py @@ -393,7 +393,7 @@ def create_epub_cover(container, cover_path, existing_image, options=None): titlepage_item = container.generate_item(tname, id_prefix='titlepage') titlepage = container.href_to_name(titlepage_item.get('href'), container.opf_name) - raw = templ%container.name_to_href(raster_cover, titlepage).encode('utf-8') + raw = (templ%container.name_to_href(raster_cover, titlepage)).encode('utf-8') with container.open(titlepage, 'wb') as f: f.write(raw)