X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4d5337ffa4ccaa027930b00d6a1c0f371d959227..4134312db600f1a86fd8f0f9cfb7b0b9d58fba78:/catalogue/models.py diff --git a/catalogue/models.py b/catalogue/models.py index e9c8928dc..e80bd259a 100644 --- a/catalogue/models.py +++ b/catalogue/models.py @@ -10,7 +10,7 @@ from django.utils.safestring import mark_safe from newtagging.models import TagBase from newtagging import managers -from librarian import html +from librarian import html, dcparser TAG_CATEGORIES = ( @@ -49,7 +49,7 @@ class Tag(TagBase): @permalink def get_absolute_url(self): - return ('catalogue.views.tagged_book_list', [self.slug]) + return ('catalogue.views.tagged_object_list', [self.slug]) class Meta: ordering = ('sort_key',) @@ -81,6 +81,8 @@ class Book(models.Model): odt_file = models.FileField(_('ODT file'), upload_to='books/odt', blank=True) html_file = models.FileField(_('HTML file'), upload_to='books/html', blank=True) + parent = models.ForeignKey('self', blank=True, null=True) + objects = managers.ModelTaggedItemManager(Tag) tags = managers.TagDescriptor(Tag) @@ -128,9 +130,7 @@ class Book(models.Model): def from_xml_file(xml_file): from tempfile import NamedTemporaryFile from slughifi import slughifi - import dcparser from markupstring import MarkupString - import re # Read book metadata book_info = dcparser.parse(xml_file) @@ -163,8 +163,8 @@ class Book(models.Model): for fragment in closed_fragments.values(): text = fragment.to_string() short_text = '' - if (len(re.sub(r'', '', text)) > 400): - short_text = MarkupString(text)[:240] + if (len(MarkupString(text)) > 240): + short_text = MarkupString(text)[:160] new_fragment = Fragment(text=text, short_text=short_text, anchor=fragment.id, book=book) theme_names = [s.strip() for s in fragment.themes.split(',')]