@task(ignore_result=True)
-def build_notes(book_id):
- book = Book.objects.get(pk=book_id)
+def build_notes(book):
Note.objects.filter(book=book).delete()
if book.html_file:
from librarian import html
for anchor, text_str, html_str in html.extract_annotations(book.html_file.path):
Note.objects.create(book=book, anchor=anchor,
- html=html_str,
+ html=html_str,
sort_key=sortify(text_str).strip()[:128])
-
-@Book.html_built.connect
-def notes_from_book(sender, **kwargs):
- build_notes.delat(sender)
+
+def notes_from_book(sender, instance, **kwargs):
+ build_notes.delay(instance)
+Book.html_built.connect(notes_from_book)