X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..c3fc1fa1087b5c12e287f6a7194d7a98fc27817e:/src/catalogue/fields.py diff --git a/src/catalogue/fields.py b/src/catalogue/fields.py index 0ff2ca9ef..bc05aa35c 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 +from catalogue.utils import remove_zip, truncate_html_words, gallery_path from celery.task import Task, task from celery.utils.log import get_task_logger from waiter.utils import clear_cache @@ -117,8 +117,8 @@ class BuildTxt(BuildEbook): class BuildPdf(BuildEbook): @staticmethod def transform(wldoc, fieldfile): - return wldoc.as_pdf(morefloats=settings.LIBRARIAN_PDF_MOREFLOATS, - cover=True) + return wldoc.as_pdf(morefloats=settings.LIBRARIAN_PDF_MOREFLOATS, cover=True, + ilustr_path=gallery_path(wldoc.book_info.url.slug)) def build(self, fieldfile): BuildEbook.build(self, fieldfile) @@ -161,8 +161,7 @@ class BuildHtml(BuildEbook): if lang not in [ln[0] for ln in settings.LANGUAGES]: lang = None - fieldfile.save(None, ContentFile(html_output.get_string()), - save=False) + fieldfile.save(None, ContentFile(html_output.get_string()), save=False) type(book).objects.filter(pk=book.pk).update(**{ fieldfile.field.attname: fieldfile }) @@ -192,8 +191,7 @@ class BuildHtml(BuildEbook): elif lang is not None: # Don't create unknown themes in non-default languages. try: - tag = Tag.objects.get(category='theme', - **{"name_%s" % lang: theme_name}) + tag = Tag.objects.get(category='theme', **{"name_%s" % lang: theme_name}) except Tag.DoesNotExist: pass else: @@ -205,8 +203,7 @@ class BuildHtml(BuildEbook): short_text = truncate_html_words(text, 15) if text == short_text: short_text = '' - new_fragment = Fragment.objects.create(anchor=fragment.id, - book=book, text=text, short_text=short_text) + new_fragment = Fragment.objects.create(anchor=fragment.id, book=book, text=text, short_text=short_text) new_fragment.save() new_fragment.tags = set(meta_tags + themes) @@ -214,6 +211,7 @@ class BuildHtml(BuildEbook): return True return False + @BuildEbook.register('cover_thumb') @task(ignore_result=True) class BuildCoverThumb(BuildEbook): @@ -223,7 +221,6 @@ class BuildCoverThumb(BuildEbook): return WLCover(wldoc.book_info, height=193).output_file() - class OverwritingFieldFile(FieldFile): """ Deletes the old file before saving the new one. @@ -232,11 +229,9 @@ class OverwritingFieldFile(FieldFile): def save(self, name, content, *args, **kwargs): leave = kwargs.pop('leave', None) # delete if there's a file already and there's a new one coming - if not leave and self and (not hasattr(content, 'path') or - content.path != self.path): + if not leave and self and (not hasattr(content, 'path') or content.path != self.path): self.delete(save=False) - return super(OverwritingFieldFile, self).save( - name, content, *args, **kwargs) + return super(OverwritingFieldFile, self).save(name, content, *args, **kwargs) class OverwritingFileField(models.FileField):