X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/6e32f55e3ef50d9f7d3a291c2388c5220851a9b4..ae60b2a3949e96357477cc04f90fd0873cee8a92:/apps/dictionary/models.py diff --git a/apps/dictionary/models.py b/apps/dictionary/models.py deleted file mode 100644 index 52d687181..000000000 --- a/apps/dictionary/models.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- 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. -# -from django.db import models -from celery.task import task -from sortify import sortify - -from catalogue.models import Book - - -class Note(models.Model): - """Represents a single annotation from a book.""" - book = models.ForeignKey(Book) - anchor = models.CharField(max_length=64) - html = models.TextField() - sort_key = models.CharField(max_length=128, db_index=True) - - class Meta: - ordering = ['sort_key'] - - -@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 -def notes_from_book(sender, **kwargs): - build_notes.delat(sender)