fix for generating ebooks without pictures
[librarian.git] / librarian / epub.py
index 3b405f8..cb2f2f4 100644 (file)
@@ -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
@@ -526,8 +528,13 @@ def transform(wldoc, verbose=False, style=None, html_toc=False,
 
     functions.reg_mathml_epub(zip)
 
-    for filename in os.listdir(ilustr_path):
-        zip.write(os.path.join(ilustr_path, filename), os.path.join('OPS', filename))
+    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(
+                '<item id="%s" href="%s" media-type="%s" />' % (image_id, filename, guess_type(file_path)[0])))
 
     # write static elements
     mime = zipfile.ZipInfo()