fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
skip fragments with no theme hit
[wolnelektury.git]
/
src
/
search
/
templatetags
/
search_tags.py
diff --git
a/src/search/templatetags/search_tags.py
b/src/search/templatetags/search_tags.py
index
8302379
..
da5a85b
100644
(file)
--- a/
src/search/templatetags/search_tags.py
+++ b/
src/search/templatetags/search_tags.py
@@
-22,20
+22,12
@@
register = template.Library()
def book_searched(context, result):
book = Book.objects.get(pk=result.book_id)
def book_searched(context, result):
book = Book.objects.get(pk=result.book_id)
- # snippets = []
- # for hit in result.hits:
- # if hit['snippets']:
- # snippets.append(hit['snippets'])
- # elif hit['fragment']:
- # snippets.append(hit['fragment'].short_text)
-
# We don't need hits which lead to sections but do not have
# snippets.
hits = filter(lambda (idx, h):
# We don't need hits which lead to sections but do not have
# snippets.
hits = filter(lambda (idx, h):
- 'fragment' in h or
- result.snippets[idx] is not None,
+ result.snippets[idx] is not None or ('fragment' in h and h['themes_hit']),
enumerate(result.hits))
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.
for (idx, hit) in hits:
# currently we generate one snipper per hit though.
@@
-45,8
+37,8
@@
def book_searched(context, result):
continue
snip = result.snippets[idx]
# fix some formattting
continue
snip = result.snippets[idx]
# fix some formattting
- snip = re.sub
n(r"(^[ \t\n]+|[ \t\n]+$)", u"",
- re.subn(r"[ \t\n]*\n[ \t\n]*", u"\n", snip)[0])[0]
+ snip = re.sub
(r"[ \t\n]*\n[ \t\n]*", u"\n", snip)
+ snip = re.sub(r"(^[ \t\n]+|[ \t\n]+$)", u"", snip)
snip = snip.replace("\n", "<br />").replace('---', '—')
hit['snippet'] = snip
snip = snip.replace("\n", "<br />").replace('---', '—')
hit['snippet'] = snip
@@
-54,5
+46,5
@@
def book_searched(context, result):
return {
'request': context['request'],
'book': book,
return {
'request': context['request'],
'book': book,
- 'hits':
hits and zip(*hits)[1] or
[]
+ 'hits':
zip(*hits)[1] if hits else
[]
}
}