X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/8d9f0f1b6f7607545370131c60738e37c3fd4d6f..f7833f76b5f9555b0d95d23d47fc886a3528a335:/apps/catalogue/models.py diff --git a/apps/catalogue/models.py b/apps/catalogue/models.py index 4dde4e0d8..2c1f66a6b 100644 --- a/apps/catalogue/models.py +++ b/apps/catalogue/models.py @@ -119,7 +119,7 @@ class Book(models.Model): return mark_safe(self._short_html) else: tags = self.tags.filter(~Q(category__in=('set', 'theme', 'book'))) - tags = [u'%s' % (tag.get_absolute_url(), tag.name) for tag in tags] + tags = [mark_safe(u'%s' % (tag.get_absolute_url(), tag.name)) for tag in tags] formats = [] if self.html_file: @@ -135,6 +135,8 @@ class Book(models.Model): if self.ogg_file: formats.append(u'OGG' % self.ogg_file.url) + formats = [mark_safe(format) for format in formats] + self._short_html = unicode(render_to_string('catalogue/book_short.html', {'book': self, 'tags': tags, 'formats': formats})) self.save() @@ -229,11 +231,14 @@ class Book(models.Model): if hasattr(book_info, 'parts'): for n, part_url in enumerate(book_info.parts): base, slug = part_url.rsplit('/', 1) - child_book = Book.objects.get(slug=slug) - child_book.parent = book - child_book.parent_number = n - child_book.save() - + try: + child_book = Book.objects.get(slug=slug) + child_book.parent = book + child_book.parent_number = n + child_book.save() + except Book.DoesNotExist, e: + raise Book.DoesNotExist(u'Book with slug = "%s" does not exist.' % slug) + book_descendants = list(book.children.all()) while len(book_descendants) > 0: child_book = book_descendants.pop(0) @@ -312,7 +317,7 @@ class Fragment(models.Model): if len(self._short_html): return mark_safe(self._short_html) else: - book_authors = [u'%s' % (tag.get_absolute_url(), tag.name) + book_authors = [mark_safe(u'%s' % (tag.get_absolute_url(), tag.name)) for tag in self.book.tags if tag.category == 'author'] self._short_html = unicode(render_to_string('catalogue/fragment_short.html',