translation update
[wolnelektury.git] / src / catalogue / templatetags / catalogue_tags.py
index fa6436f..afb2e7e 100644 (file)
@@ -8,14 +8,14 @@ from django.contrib.contenttypes.models import ContentType
 
 from django.conf import settings
 from django import template
 
 from django.conf import settings
 from django import template
-from django.core.cache import cache
 from django.template import Node, Variable, Template, Context
 from django.core.urlresolvers import reverse
 from django.template import Node, Variable, Template, Context
 from django.core.urlresolvers import reverse
-from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
 from django.utils.cache import add_never_cache_headers
 from django.utils.translation import ugettext as _
 
 from ssify import ssi_variable
 from django.utils.cache import add_never_cache_headers
 from django.utils.translation import ugettext as _
 
 from ssify import ssi_variable
+
+from catalogue.helpers import get_audiobook_tags
 from catalogue.models import Book, BookMedia, Fragment, Tag, Source
 from catalogue.constants import LICENSES
 from picture.models import Picture
 from catalogue.models import Book, BookMedia, Fragment, Tag, Source
 from catalogue.constants import LICENSES
 from picture.models import Picture
@@ -23,22 +23,6 @@ from picture.models import Picture
 register = template.Library()
 
 
 register = template.Library()
 
 
-class RegistrationForm(UserCreationForm):
-    def as_ul(self):
-        """Returns this form rendered as HTML <li>s -- excluding the <ul></ul>."""
-        return self._html_output(
-            u'<li>%(errors)s%(label)s %(field)s<span class="help-text">%(help_text)s</span></li>', u'<li>%s</li>',
-            '</li>', u' %s', False)
-
-
-class LoginForm(AuthenticationForm):
-    def as_ul(self):
-        """Returns this form rendered as HTML <li>s -- excluding the <ul></ul>."""
-        return self._html_output(
-            u'<li>%(errors)s%(label)s %(field)s<span class="help-text">%(help_text)s</span></li>', u'<li>%s</li>',
-            '</li>', u' %s', False)
-
-
 def iterable(obj):
     try:
         iter(obj)
 def iterable(obj):
     try:
         iter(obj)
@@ -227,16 +211,6 @@ def all_editors(extra_info):
                      for person in sorted(set(editors)))
 
 
                      for person in sorted(set(editors)))
 
 
-@register.simple_tag
-def user_creation_form():
-    return RegistrationForm(prefix='registration').as_ul()
-
-
-@register.simple_tag
-def authentication_form():
-    return LoginForm(prefix='login').as_ul()
-
-
 @register.tag
 def catalogue_url(parser, token):
     bits = token.split_contents()
 @register.tag
 def catalogue_url(parser, token):
     bits = token.split_contents()
@@ -301,7 +275,7 @@ class CatalogueURLNode(Node):
 
 
 # @register.inclusion_tag('catalogue/tag_list.html')
 
 
 # @register.inclusion_tag('catalogue/tag_list.html')
-def tag_list(tags, choices=None, category=None, list_type='default'):
+def tag_list(tags, choices=None, category=None, list_type='books'):
     # print(tags, choices, category)
     if choices is None:
         choices = []
     # print(tags, choices, category)
     if choices is None:
         choices = []
@@ -323,17 +297,8 @@ def tag_list(tags, choices=None, category=None, list_type='default'):
         ct = ContentType.objects.get_for_model(Picture if list_type == 'gallery' else Book)
         other = other.filter(items__content_type=ct).distinct()
         if list_type == 'audiobooks':
         ct = ContentType.objects.get_for_model(Picture if list_type == 'gallery' else Book)
         other = other.filter(items__content_type=ct).distinct()
         if list_type == 'audiobooks':
-            audiobook_tag_ids = cache.get('audiobook_tags')
-            if audiobook_tag_ids is None:
-                books_with_audiobook = Book.objects.filter(media__type__in=('mp3', 'ogg'))\
-                    .distinct().values_list('pk', flat=True)
-                audiobook_tag_ids = Tag.objects.filter(
-                    items__content_type=ct,
-                    items__object_id__in=list(books_with_audiobook)).distinct().values_list('pk', flat=True)
-                audiobook_tag_ids = list(audiobook_tag_ids)
-                cache.set('audiobook_tags', audiobook_tag_ids)
-
-            other = other.filter(id__in=audiobook_tag_ids)
+            other = other.filter(id__in=get_audiobook_tags())
+        other = other.only('name', 'slug', 'category')
     else:
         other = []
 
     else:
         other = []
 
@@ -348,7 +313,7 @@ def tag_list(tags, choices=None, category=None, list_type='default'):
 
 
 @register.inclusion_tag('catalogue/inline_tag_list.html')
 
 
 @register.inclusion_tag('catalogue/inline_tag_list.html')
-def inline_tag_list(tags, choices=None, category=None, list_type='default'):
+def inline_tag_list(tags, choices=None, category=None, list_type='books'):
     return tag_list(tags, choices, category, list_type)
 
 
     return tag_list(tags, choices, category, list_type)
 
 
@@ -372,7 +337,7 @@ def work_list(context, object_list):
 
 
 @register.inclusion_tag('catalogue/plain_list.html', takes_context=True)
 
 
 @register.inclusion_tag('catalogue/plain_list.html', takes_context=True)
-def plain_list(context, object_list, with_initials=True, by_author=False, choice=None, book=None, list_type='default',
+def plain_list(context, object_list, with_initials=True, by_author=False, choice=None, book=None, list_type='books',
                paged=True, initial_blocks=False):
     names = [('', [])]
     last_initial = None
                paged=True, initial_blocks=False):
     names = [('', [])]
     last_initial = None
@@ -387,7 +352,7 @@ def plain_list(context, object_list, with_initials=True, by_author=False, choice
                 initial = obj.get_initial().upper()
             if initial != last_initial:
                 last_initial = initial
                 initial = obj.get_initial().upper()
             if initial != last_initial:
                 last_initial = initial
-                names.append((obj.author_str() if by_author else initial, []))
+                names.append((obj.author_unicode() if by_author else initial, []))
         names[-1][1].append(obj)
     return {
         'paged': paged,
         names[-1][1].append(obj)
     return {
         'paged': paged,