X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/8b808f24709efb16f6b6eff6abb05b41341573c7..82c3054bcdeb000aa9782da80d644070797b5cbe:/apps/search/templatetags/search_tags.py diff --git a/apps/search/templatetags/search_tags.py b/apps/search/templatetags/search_tags.py index b19593e0c..8dbad9dae 100644 --- a/apps/search/templatetags/search_tags.py +++ b/apps/search/templatetags/search_tags.py @@ -6,15 +6,11 @@ # import datetime from django import template -from django.template import Node, Variable -from django.utils.encoding import smart_str -from django.core.urlresolvers import reverse # from django.contrib.auth.forms import UserCreationForm, AuthenticationForm # from django.db.models import Q -from django.conf import settings # from django.utils.translation import ugettext as _ -from catalogue.templatetags.catalogue_tags import book_wide from catalogue.models import Book +import re # from catalogue.forms import SearchForm # from catalogue.utils import split_tags @@ -38,22 +34,22 @@ def book_searched(context, result): hits = filter(lambda (idx, h): result.snippets[idx] is not None or 'fragment' in h, enumerate(result.hits)) - print "[tmpl: from %d hits selected %d]" % (len(result.hits), len(hits)) + # print "[tmpl: from %d hits selected %d]" % (len(result.hits), len(hits)) for (idx, hit) in hits: # currently we generate one snipper per hit though. - if 'fragment' in hit: + if result.snippets[idx] is None: continue snip = result.snippets[idx] # fix some formattting + snip = re.subn(r"(^[ \t\n]+|[ \t\n]+$)", u"", + re.subn(r"[ \t\n]*\n[ \t\n]*", u"\n", snip)[0])[0] + snip = snip.replace("\n", "
").replace('---', '—') hit['snippet'] = snip return { - 'related': book.related_info(), + 'request': context['request'], 'book': book, - 'main_link': book.get_absolute_url(), - 'request': context.get('request'), - 'hits': zip(*hits)[1], - 'main_link': book.get_absolute_url(), + 'hits': hits and zip(*hits)[1] or [] }