#
from django.conf import settings
from django.core.files import File
+from django.core.files.storage import FileSystemStorage
from django.db import models
from django.db.models.fields.files import FieldFile
from catalogue import app_settings
tag.name = theme_name
setattr(tag, "name_%s" % lang, theme_name)
tag.sort_key = sortify(theme_name.lower())
+ tag.for_books = True
tag.save()
themes.append(tag)
elif lang is not None:
new_fragment.save()
new_fragment.tags = set(meta_tags + themes)
+ for theme in themes:
+ if not theme.for_books:
+ theme.for_books = True
+ theme.save()
book.html_built.send(sender=type(self), instance=book)
return True
return False
return WLCover(wldoc.book_info, height=193).output_file()
+@BuildEbook.register('cover_api_thumb')
+@task(ignore_result=True)
+class BuildCoverApiThumb(BuildEbook):
+ @classmethod
+ def transform(cls, wldoc, fieldfile):
+ from librarian.cover import WLNoBoxCover
+ return WLNoBoxCover(wldoc.book_info, height=500).output_file()
+
+
+@BuildEbook.register('simple_cover')
+@task(ignore_result=True)
+class BuildSimpleCover(BuildEbook):
+ @classmethod
+ def transform(cls, wldoc, fieldfile):
+ from librarian.cover import WLNoBoxCover
+ return WLNoBoxCover(wldoc.book_info, height=1000).output_file()
+
+
+# not used, but needed for migrations
class OverwritingFieldFile(FieldFile):
"""
Deletes the old file before saving the new one.
class OverwritingFileField(models.FileField):
attr_class = OverwritingFieldFile
+
+
+class OverwriteStorage(FileSystemStorage):
+
+ def get_available_name(self, name, max_length=None):
+ self.delete(name)
+ return name