X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/078622f9d439b38d07e95565d28147c5ae44c366..cddac847a30124abd1e4cf5458c4e36d5682515a:/src/catalogue/tasks.py diff --git a/src/catalogue/tasks.py b/src/catalogue/tasks.py index 265897f52..f2ee55f38 100644 --- a/src/catalogue/tasks.py +++ b/src/catalogue/tasks.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # @@ -8,7 +7,7 @@ from celery.utils.log import get_task_logger from django.conf import settings from django.utils import timezone -from catalogue.utils import gallery_path +from catalogue.utils import absolute_url, gallery_url from waiter.models import WaitedFile task_logger = get_task_logger(__name__) @@ -28,8 +27,8 @@ 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, **kwargs) - except Exception, e: - print "Exception during index: %s" % e + except Exception as e: + print("Exception during index: %s" % e) print_exc() raise e @@ -54,9 +53,9 @@ def build_custom_pdf(book_id, customizations, file_name, waiter_id=None): pdf = wldoc.as_pdf( customizations=customizations, morefloats=settings.LIBRARIAN_PDF_MOREFLOATS, - ilustr_path=gallery_path(wldoc.book_info.url.slug), + base_url=absolute_url(gallery_url(wldoc.book_info.url.slug)), **kwargs) - DefaultStorage().save(file_name, File(open(pdf.get_filename()))) + DefaultStorage().save(file_name, File(open(pdf.get_filename(), 'rb'))) finally: if waiter_id is not None: WaitedFile.objects.filter(pk=waiter_id).delete() @@ -66,3 +65,10 @@ def build_custom_pdf(book_id, customizations, file_name, waiter_id=None): def update_counters(): from .helpers import update_counters update_counters() + + +@task(ignore_result=True) +def update_references(book_id): + from catalogue.models import Book + Book.objects.get(id=book_id).update_references() +