fix in librarian
[wolnelektury.git] / apps / picture / templatetags / picture_tags.py
index 76ae1de..02d80b0 100644 (file)
@@ -2,12 +2,17 @@
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
+import logging
+from random import randint
 from django import template
 from django.core.urlresolvers import reverse
+from django.utils.cache import add_never_cache_headers
+import sorl.thumbnail.default
+from ssify import ssi_variable
 from catalogue.utils import split_tags
 from ..engine import CustomCroppingEngine
-import sorl.thumbnail.default
-import logging
+from ..models import Picture
+
 
 register = template.Library()
 
@@ -56,3 +61,15 @@ def area_thumbnail_url(area, geometry):
     sorl.thumbnail.default.engine = _engine
 
     return th.url
+
+
+@ssi_variable(register, patch_response=[add_never_cache_headers])
+def picture_random_picture(request, exclude_ids, unless=None):
+    if unless:
+        return None
+    queryset = Picture.objects.exclude(pk__in=exclude_ids).exclude(image_file='')
+    count = queryset.count()
+    if count:
+        return queryset[randint(0, count - 1)].pk
+    else:
+        return None