+@task(ignore_result=True)
+def build_notes(book_id):
+ book = Book.objects.get(pk=book_id)
+ 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,
+ sort_key=sortify(text_str).strip()[:128])
+
+@Book.html_built.connect