X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/fc7a8368b6033616780d563149d78db33b6b91a3..1423b7f55cedaf4afdb0b8d6060e1ddae7b0c44a:/librarian/epub.py?ds=sidebyside diff --git a/librarian/epub.py b/librarian/epub.py index 9e7010a..cb2f2f4 100644 --- a/librarian/epub.py +++ b/librarian/epub.py @@ -11,6 +11,8 @@ import re import subprocess from StringIO import StringIO from copy import deepcopy +from mimetypes import guess_type + from lxml import etree import zipfile from tempfile import mkdtemp, NamedTemporaryFile @@ -406,9 +408,8 @@ def transform_chunk(chunk_xml, chunk_no, annotations, empty=False, _empty_html_s return output_html, toc, chars -def transform(wldoc, verbose=False, - style=None, html_toc=False, - sample=None, cover=None, flags=None, hyphenate=False): +def transform(wldoc, verbose=False, style=None, html_toc=False, + sample=None, cover=None, flags=None, hyphenate=False, ilustr_path=''): """ produces a EPUB file sample=n: generate sample e-book (with at least n paragraphs) @@ -527,6 +528,14 @@ def transform(wldoc, verbose=False, functions.reg_mathml_epub(zip) + if os.path.isdir(ilustr_path): + for i, filename in enumerate(os.listdir(ilustr_path)): + file_path = os.path.join(ilustr_path, filename) + zip.write(file_path, os.path.join('OPS', filename)) + image_id = 'image%s' % i + manifest.append(etree.fromstring( + '' % (image_id, filename, guess_type(file_path)[0]))) + # write static elements mime = zipfile.ZipInfo() mime.filename = 'mimetype'