Librarian with fixed epub thank-you note
[wolnelektury.git] / apps / catalogue / tasks.py
index af00c35..d5e8529 100644 (file)
@@ -6,13 +6,14 @@ from datetime import datetime
 from traceback import print_exc
 from celery.task import task
 from django.conf import settings
+from wolnelektury.utils import localtime_to_utc
 
 
 # TODO: move to model?
 def touch_tag(tag):
     update_dict = {
         'book_count': tag.get_count(),
-        'changed_at': datetime.now(),
+        'changed_at': localtime_to_utc(datetime.now()),
     }
 
     type(tag).objects.filter(pk=tag.pk).update(**update_dict)
@@ -24,10 +25,10 @@ def fix_tree_tags(book):
 
 
 @task
-def index_book(book_id, book_info=None):
+def index_book(book_id, book_info=None, **kwargs):
     from catalogue.models import Book
     try:
-        return Book.objects.get(id=book_id).search_index(book_info)
+        return Book.objects.get(id=book_id).search_index(book_info, **kwargs)
     except Exception, e:
         print "Exception during index: %s" % e
         print_exc()
@@ -43,7 +44,14 @@ def build_custom_pdf(book_id, customizations, file_name):
 
     print "will gen %s" % DefaultStorage().path(file_name)
     if not DefaultStorage().exists(file_name):
+        kwargs = {
+            'cover': True,
+        }
+        if 'no-cover' in customizations:
+            kwargs['cover'] = False
+            customizations.remove('no-cover')
         pdf = Book.objects.get(pk=book_id).wldocument().as_pdf(
                 customizations=customizations,
-                morefloats=settings.LIBRARIAN_PDF_MOREFLOATS)
+                morefloats=settings.LIBRARIAN_PDF_MOREFLOATS,
+                **kwargs)
         DefaultStorage().save(file_name, File(open(pdf.get_filename())))