X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/1e9113af163a3d002b0b9c3e8c339f22af5b848a..670ae4304fb7dc4b5f28abdff659bd5dba10cf33:/apps/catalogue/fields.py?ds=inline diff --git a/apps/catalogue/fields.py b/apps/catalogue/fields.py index 9d7dcf232..ebf71c222 100644 --- a/apps/catalogue/fields.py +++ b/apps/catalogue/fields.py @@ -146,6 +146,9 @@ class BuildHtml(BuildEbook): if lang not in [ln[0] for ln in settings.LANGUAGES]: lang = None + # Delete old fragments, create from scratch if necessary. + book.fragments.all().delete() + if html_output: fieldfile.save(None, ContentFile(html_output.get_string()), save=False) @@ -160,8 +163,6 @@ class BuildHtml(BuildEbook): ancestor_tags.append(p.book_tag()) p = p.parent - # Delete old fragments and create them from scratch - book.fragments.all().delete() # Extract fragments closed_fragments, open_fragments = html.extract_fragments(fieldfile.path) for fragment in closed_fragments.values(): @@ -200,11 +201,12 @@ class BuildHtml(BuildEbook): short_text = truncate_html_words(text, 15) if text == short_text: short_text = '' - new_fragment = Fragment.objects.create(anchor=fragment.id, + new_fragment = Fragment.objects.create(anchor=fragment.id, book=book, text=text, short_text=short_text) new_fragment.save() new_fragment.tags = set(meta_tags + themes + [book_tag] + ancestor_tags) + book.fix_tree_tags() book.html_built.send(sender=book) return True return False