本文整理汇总了Python中search.Search.hint_books方法的典型用法代码示例。如果您正苦于以下问题:Python Search.hint_books方法的具体用法?Python Search.hint_books怎么用?Python Search.hint_books使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类search.Search
的用法示例。
在下文中一共展示了Search.hint_books方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: hint
# 需要导入模块: from search import Search [as 别名]
# 或者: from search.Search import hint_books [as 别名]
def hint(request):
prefix = request.GET.get('term', '')
if len(prefix) < 2:
return JSONResponse([])
prefix = remove_query_syntax_chars(prefix)
search = Search()
# tagi beda ograniczac tutaj
# ale tagi moga byc na ksiazce i na fragmentach
# jezeli tagi dot tylko ksiazki, to wazne zeby te nowe byly w tej samej ksiazce
# jesli zas dotycza themes, to wazne, zeby byly w tym samym fragmencie.
tags = search.hint_tags(prefix, pdcounter=True)
books = search.hint_books(prefix)
def is_dupe(tag):
if isinstance(tag, PDCounterAuthor):
if filter(lambda t: t.slug == tag.slug and t != tag, tags):
return True
elif isinstance(tag, PDCounterBook):
if filter(lambda b: b.slug == tag.slug, tags):
return True
return False
tags = filter(lambda t: not is_dupe(t), tags)
def category_name(c):
if c.startswith('pd_'):
c = c[len('pd_'):]
return _(c)
callback = request.GET.get('callback', None)
data = [{'label': t.name,
'category': category_name(t.category),
'id': t.id,
'url': t.get_absolute_url()}
for t in tags] + \
[{'label': b.title,
'category': _('book'),
'id': b.id,
'url': b.get_absolute_url()}
for b in books]
if callback:
return HttpResponse("%s(%s);" % (callback, json.dumps(data)),
content_type="application/json; charset=utf-8")
else:
return JSONResponse(data)