Responsive images.
[wolnelektury.git] / src / catalogue / fields.py
index d88787e..c3e2b35 100644 (file)
@@ -169,12 +169,7 @@ class BuildEbook(Task):
         fieldfile.save(None, File(open(out.get_filename(), 'rb')), save=False)
         self.set_file_permissions(fieldfile)
         if book.pk is not None:
-            books = type(book).objects.filter(pk=book.pk)
-            books.update(**{
-                fieldfile.field.attname: fieldfile
-            })
-            for book in books:
-                book.save()  # just to trigger post-save
+            book.save(update_fields=[fieldfile.field.attname])
         if fieldfile.field.format_name in app_settings.FORMAT_ZIPS:
             remove_zip(app_settings.FORMAT_ZIPS[fieldfile.field.format_name])
 # Don't decorate BuildEbook, because we want to subclass it.
@@ -316,10 +311,13 @@ class BuildHtml(BuildEbook):
         from librarian import DCNS
         url_elem = wldoc.edoc.getroot().find('.//' + DCNS('identifier.url'))
         if url_elem is None:
-            gallery = ''
+            gal_url = ''
+            gal_path = ''
         else:
-            gallery = gallery_url(slug=url_elem.text.rsplit('/', 1)[1])
-        return wldoc.as_html(options={'gallery': "'%s'" % gallery})
+            slug = url_elem.text.rstrip('/').rsplit('/', 1)[1]
+            gal_url = gallery_url(slug=slug)
+            gal_path = gallery_path(slug=slug)
+        return wldoc.as_html(gallery_path=gal_path, gallery_url=gal_url)
 
 
 class BuildCover(BuildEbook):