refactoring in fabfile
[wolnelektury.git] / src / catalogue / templatetags / catalogue_tags.py
index fa6436f..947fbf2 100644 (file)
@@ -8,7 +8,6 @@ from django.contrib.contenttypes.models import ContentType
 
 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.contrib.auth.forms import UserCreationForm, AuthenticationForm
@@ -16,6 +15,8 @@ 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
@@ -301,7 +302,7 @@ class CatalogueURLNode(Node):
 
 
 # @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 = []
@@ -323,17 +324,7 @@ 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':
-            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())
     else:
         other = []
 
@@ -348,7 +339,7 @@ def tag_list(tags, choices=None, category=None, list_type='default'):
 
 
 @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)
 
 
@@ -372,7 +363,7 @@ def work_list(context, object_list):
 
 
 @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