From: Robert Błaut Date: Sun, 26 Jan 2014 15:02:30 +0000 (+0100) Subject: Fix for missing xml declaration of content.opf and toc.ncx X-Git-Tag: 1.7~104^2~19 X-Git-Url: https://git.mdrn.pl/librarian.git/commitdiff_plain/6791e72f5bb378973798e1d410f7bd42a346cc9e?ds=inline;hp=dd3e5f7c77134d034eb8592479288e1bb9fe28fd 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 --- 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)