+
+
+@task(ignore_result=True)
+def build_cover(book_id):
+ """(Re)builds the cover image."""
+ from StringIO import StringIO
+ from django.core.files.base import ContentFile
+ from librarian.cover import WLCover
+ from catalogue.models import Book
+
+ book = Book.objects.get(pk=book_id)
+ book_info = book.wldocument().book_info
+ cover = WLCover(book_info).image()
+ imgstr = StringIO()
+ cover.save(imgstr, 'png')
+ book.cover.save(None, ContentFile(imgstr.getvalue()), save=False)
+ Book.objects.filter(pk=book_id).update(cover=book.cover)