fix in librarian
[wolnelektury.git] / apps / search / templatetags / search_tags.py
index 6a2ccad..8dbad9d 100644 (file)
@@ -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,7 +34,7 @@ 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.
@@ -46,14 +42,14 @@ def book_searched(context, result):
             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", "<br />").replace('---', '&mdash;')
         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 []
     }