X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/16a94603f78e462ff0f8069cd157dbe9f604a215..154870f0416b6b387637d6035c96321410512e95:/src/search/templatetags/search_tags.py diff --git a/src/search/templatetags/search_tags.py b/src/search/templatetags/search_tags.py index ea8d4ed0a..05c504ce9 100644 --- a/src/search/templatetags/search_tags.py +++ b/src/search/templatetags/search_tags.py @@ -1,33 +1,19 @@ -# -*- 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. # -# import feedparser -# import datetime - -from django import template -# from django.contrib.auth.forms import UserCreationForm, AuthenticationForm -# from django.db.models import Q -# from django.utils.translation import ugettext as _ -from catalogue.models import Book import re -# from catalogue.forms import SearchForm -# from catalogue.utils import split_tags - +from django import template register = template.Library() @register.inclusion_tag('catalogue/book_searched.html', takes_context=True) def book_searched(context, result): - book = Book.objects.get(pk=result.book_id) - # 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, - 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. @@ -45,6 +31,6 @@ def book_searched(context, result): return { 'request': context['request'], - 'book': book, - 'hits': zip(*hits)[1] if hits else [] + 'book': result.book, + 'hits': list(zip(*hits))[1] if hits else [] }