fixes
[wolnelektury.git] / src / search / templatetags / search_tags.py
index d0cbb5c..8d0b74b 100644 (file)
@@ -1,9 +1,8 @@
-# -*- coding: utf-8 -*-
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
-from django import template
 import re
+from django import template
 
 register = template.Library()
 
@@ -12,10 +11,9 @@ register = template.Library()
 def book_searched(context, result):
     # We don't need hits which lead to sections but do not have
     # snippets.
-    hits = filter(lambda (idx, h):
-                  result.snippets[idx] is not None or ('fragment' in h and h['themes_hit']),
-                  enumerate(result.hits))
-    # print "[tmpl: from %d hits selected %d]" % (len(result.hits), len(hits))
+    hits = [(idx, h)
+            for (idx, h) in enumerate(result.hits)
+            if result.snippets[idx] is not None or ('fragment' in h and h['themes_hit'])]
 
     for (idx, hit) in hits:
         # currently we generate one snipper per hit though.
@@ -25,8 +23,8 @@ def book_searched(context, result):
             continue
         snip = result.snippets[idx]
         # fix some formattting
-        snip = re.sub(r"[ \t\n]*\n[ \t\n]*", u"\n", snip)
-        snip = re.sub(r"(^[ \t\n]+|[ \t\n]+$)", u"", snip)
+        snip = re.sub(r"[ \t\n]*\n[ \t\n]*", "\n", snip)
+        snip = re.sub(r"(^[ \t\n]+|[ \t\n]+$)", "", snip)
 
         snip = snip.replace("\n", "<br />").replace('---', '&mdash;')
         hit['snippet'] = snip
@@ -34,5 +32,5 @@ def book_searched(context, result):
     return {
         'request': context['request'],
         'book': result.book,
-        'hits':  zip(*hits)[1] if hits else []
+        'hits':  list(zip(*hits))[1] if hits else []
     }