import datetime
import feedparser
+from django.conf import settings
from django import template
from django.template import Node, Variable, Template, Context
from django.core.cache import cache
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.utils.translation import ugettext as _
-from catalogue import forms
from catalogue.utils import split_tags
-from catalogue.models import Book, Fragment, Tag
+from catalogue.models import Book, BookMedia, Fragment, Tag
register = template.Library()
@register.tag
def catalogue_url(parser, token):
bits = token.split_contents()
- tag_name = bits[0]
tags_to_add = []
tags_to_remove = []
@register.inclusion_tag('catalogue/book_wide.html', takes_context=True)
def book_wide(context, book):
book_themes = book.related_themes()
- extra_info = book.get_extra_info_value()
+ extra_info = book.extra_info
hide_about = extra_info.get('about', '').startswith('http://wiki.wolnepodreczniki.pl')
return {
'book': book,
'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(),
+ 'extra_info': extra_info,
'hide_about': hide_about,
'themes': book_themes,
'request': context.get('request'),
return reverse('catalogue.views.tagged_object_list', args=[
'/'.join((Tag.categories_dict[category], slug))
])
+
+
+@register.simple_tag
+def download_audio(book, daisy=True):
+ related = book.related_info()
+ links = []
+ if related['media'].get('mp3'):
+ links.append("<a href='%s'>%s</a>" %
+ (reverse('download_zip_mp3', args=[book.slug]),
+ BookMedia.formats['mp3'].name))
+ if related['media'].get('ogg'):
+ links.append("<a href='%s'>%s</a>" %
+ (reverse('download_zip_ogg', args=[book.slug]),
+ BookMedia.formats['ogg'].name))
+ if daisy and related['media'].get('daisy'):
+ for dsy in book.get_media('daisy'):
+ links.append("<a href='%s'>%s</a>" %
+ (dsy.file.url, BookMedia.formats['daisy'].name))
+ return ", ".join(links)
+
+
+@register.inclusion_tag("catalogue/snippets/custom_pdf_link_li.html")
+def custom_pdf_link_li(book):
+ return {
+ 'book': book,
+ 'NO_CUSTOM_PDF': settings.NO_CUSTOM_PDF,
+ }