Revamps search page

still needs to expand user search to do database lookups
This commit is contained in:
Mouse Reeve
2020-10-14 09:19:23 -07:00
parent a6d436d05d
commit 4ba9b7a119
3 changed files with 62 additions and 13 deletions

View File

@ -147,22 +147,25 @@ def get_activity_feed(user, filter_level, model=models.Status):
def search(request):
''' that search bar up top '''
query = request.GET.get('q')
if re.match(r'\w+@\w+.\w+', query):
# if something looks like a username, search with webfinger
results = outgoing.handle_account_search(query)
return TemplateResponse(
request, 'user_results.html', {'results': results, 'query': query}
)
# or just send the question over to book search
if is_api_request(request):
# only return local results via json so we don't cause a cascade
results = books_manager.local_search(query)
return JsonResponse([r.__dict__ for r in results], safe=False)
# only return local book results via json so we don't cause a cascade
book_results = books_manager.local_search(query)
return JsonResponse([r.__dict__ for r in book_results], safe=False)
results = books_manager.search(query)
return TemplateResponse(request, 'book_results.html', {'results': results})
user_results = []
# use webfinger looks like a mastodon style account@domain.com username
if re.match(r'\w+@\w+.\w+', query):
# if something looks like a username, search with webfinger
user_results = outgoing.handle_remote_webfinger(query)
book_results = books_manager.search(query)
data = {
'book_results': book_results,
'user_results': user_results,
'query': query,
}
return TemplateResponse(request, 'search_results.html', data)
@login_required