X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/c3fc1fa1087b5c12e287f6a7194d7a98fc27817e..0d2ad838d03a600b034f6355a1d43f74debd62eb:/src/catalogue/fields.py diff --git a/src/catalogue/fields.py b/src/catalogue/fields.py index bc05aa35c..5b49307a3 100644 --- a/src/catalogue/fields.py +++ b/src/catalogue/fields.py @@ -8,7 +8,7 @@ from django.db import models from django.db.models.fields.files import FieldFile from catalogue import app_settings from catalogue.constants import LANGUAGES_3TO2 -from catalogue.utils import remove_zip, truncate_html_words, gallery_path +from catalogue.utils import remove_zip, truncate_html_words, gallery_path, gallery_url from celery.task import Task, task from celery.utils.log import get_task_logger from waiter.utils import clear_cache @@ -130,7 +130,15 @@ class BuildPdf(BuildEbook): class BuildEpub(BuildEbook): @staticmethod def transform(wldoc, fieldfile): - return wldoc.as_epub(cover=True) + return wldoc.as_epub(cover=True, ilustr_path=gallery_path(wldoc.book_info.url.slug)) + + +@BuildEbook.register('mobi') +@task(ignore_result=True) +class BuildMobi(BuildEbook): + @staticmethod + def transform(wldoc, fieldfile): + return wldoc.as_mobi(cover=True, ilustr_path=gallery_path(wldoc.book_info.url.slug)) @BuildEbook.register('html') @@ -145,9 +153,7 @@ class BuildHtml(BuildEbook): book = fieldfile.instance - html_output = self.transform( - book.wldocument(parse_dublincore=False), - fieldfile) + html_output = self.transform(book.wldocument(), fieldfile) # Delete old fragments, create from scratch if necessary. book.fragments.all().delete() @@ -211,6 +217,10 @@ class BuildHtml(BuildEbook): return True return False + @staticmethod + def transform(wldoc, fieldfile): + return wldoc.as_html(options={'gallery': "'%s'" % gallery_url(wldoc.book_info.url.slug)}) + @BuildEbook.register('cover_thumb') @task(ignore_result=True)