X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/967eed676fc83d15b26149047f353ac61faa8217..5bd864493e531e5600c5ca989825d89cc3ee1487:/src/search/templatetags/search_tags.py diff --git a/src/search/templatetags/search_tags.py b/src/search/templatetags/search_tags.py index 0975c2a28..8d0b74be8 100644 --- a/src/search/templatetags/search_tags.py +++ b/src/search/templatetags/search_tags.py @@ -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", "
").replace('---', '—') 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 [] }