fix for toc events
[wolnelektury.git] / src / dictionary / models.py
index 5c3d2b9..1068a96 100644 (file)
@@ -1,8 +1,8 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, transaction
 #
 from django.db import models, transaction
-from celery.task import task
+from celery import shared_task
 from sortify import sortify
 from celery.utils.log import get_task_logger
 
 from sortify import sortify
 from celery.utils.log import get_task_logger
 
@@ -44,8 +44,10 @@ class NoteSource(models.Model):
         ordering = ['book']
 
 
         ordering = ['book']
 
 
-@task(ignore_result=True)
+@shared_task(ignore_result=True)
 def build_notes(book):
 def build_notes(book):
+    if not book.findable:
+        return
     task_logger.info(book.slug)
     with transaction.atomic():
         book.notesource_set.all().delete()
     task_logger.info(book.slug)
     with transaction.atomic():
         book.notesource_set.all().delete()
@@ -82,5 +84,6 @@ def build_notes(book):
 
 
 def notes_from_book(sender, instance, **kwargs):
 
 
 def notes_from_book(sender, instance, **kwargs):
-    build_notes.delay(instance)
+    if instance.findable:
+        build_notes.delay(instance)
 Book.html_built.connect(notes_from_book)
 Book.html_built.connect(notes_from_book)