From 6791e72f5bb378973798e1d410f7bd42a346cc9e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Robert=20B=C5=82aut?= Date: Sun, 26 Jan 2014 16:02:30 +0100 Subject: [PATCH 1/1] Fix for missing xml declaration of content.opf and toc.ncx Lack of xml declaration causes failed ePub validation with Epubcheck Version 3.0.1 --- librarian/epub.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/librarian/epub.py b/librarian/epub.py index c8a8668..e61eb26 100644 --- a/librarian/epub.py +++ b/librarian/epub.py @@ -556,8 +556,7 @@ def transform(wldoc, verbose=False, rmtree(tmpdir) if cwd is not None: os.chdir(cwd) - - zip.writestr('OPS/content.opf', etree.tostring(opf, pretty_print=True)) + zip.writestr('OPS/content.opf', etree.tostring(opf, pretty_print=True, xml_declaration = True, encoding='UTF-8')) title = document.book_info.title attributes = "dtb:uid", "dtb:depth", "dtb:totalPageCount", "dtb:maxPageNumber" for st in attributes: @@ -574,7 +573,7 @@ def transform(wldoc, verbose=False, toc.add(u"Spis treści", "toc.html", index=1) zip.writestr('OPS/toc.html', toc.html().encode('utf-8')) toc.write_to_xml(nav_map) - zip.writestr('OPS/toc.ncx', etree.tostring(toc_file, pretty_print=True)) + zip.writestr('OPS/toc.ncx', etree.tostring(toc_file, pretty_print=True, xml_declaration = True, encoding='UTF-8')) zip.close() return OutputFile.from_filename(output_file.name) -- 2.20.1