update tests
[wolnelektury.git] / apps / catalogue / templatetags / catalogue_tags.py
index e8bc138..e5e4d4f 100644 (file)
@@ -148,6 +148,17 @@ def book_tree(book_list, books_by_parent):
     else:
         return ''
 
+@register.simple_tag
+def audiobook_tree(book_list, books_by_parent):
+    text = "".join("<li><a class='open-player' href='%s'>%s</a>%s</li>" % (
+        reverse("book_player", args=[book.slug]), book.title, audiobook_tree(books_by_parent.get(book, ()), books_by_parent)
+        ) for book in book_list)
+
+    if text:
+        return "<ol>%s</ol>" % text
+    else:
+        return ''
+
 @register.simple_tag
 def book_tree_texml(book_list, books_by_parent, depth=1):
     return "".join("""
@@ -284,21 +295,17 @@ def book_info(book):
 
 @register.inclusion_tag('catalogue/book_wide.html', takes_context=True)
 def book_wide(context, book):
-    theme_counter = book.theme_counter
-    book_themes = Tag.objects.filter(pk__in=theme_counter.keys())
-    for tag in book_themes:
-        tag.count = theme_counter[tag.pk]
+    book_themes = book.related_themes()
     extra_info = book.get_extra_info_value()
     hide_about = extra_info.get('about', '').startswith('http://wiki.wolnepodreczniki.pl')
 
     return {
         'book': book,
-        'main_link': reverse('book_text', args=[book.slug]),
+        'main_link': reverse('book_text', args=[book.slug]) if book.html_file else None,
         'related': book.related_info(),
         'extra_info': book.get_extra_info_value(),
         'hide_about': hide_about,
         'themes': book_themes,
-        'custom_pdf_form': forms.CustomPDFForm(),
         'request': context.get('request'),
     }
 
@@ -350,7 +357,6 @@ def related_books(book, limit=6, random=1):
     cache_key = "catalogue.related_books.%d.%d" % (book.id, limit - random)
     related = cache.get(cache_key)
     if related is None:
-        print 'not in cache'
         related = list(Book.objects.filter(
             common_slug=book.common_slug).exclude(pk=book.pk)[:limit])
         limit -= len(related)