Runs black

This commit is contained in:
Mouse Reeve
2021-03-08 08:49:10 -08:00
parent a07f955781
commit 70296e760b
198 changed files with 10239 additions and 8572 deletions

View File

@ -1,4 +1,4 @@
''' search views'''
""" search views"""
import re
from django.contrib.postgres.search import TrigramSimilarity
@ -16,51 +16,63 @@ from .helpers import handle_remote_webfinger
# pylint: disable= no-self-use
class Search(View):
''' search users or books '''
""" search users or books """
def get(self, request):
''' that search bar up top '''
query = request.GET.get('q')
min_confidence = request.GET.get('min_confidence', 0.1)
""" that search bar up top """
query = request.GET.get("q")
min_confidence = request.GET.get("min_confidence", 0.1)
if is_api_request(request):
# only return local book results via json so we don't cascade
book_results = connector_manager.local_search(
query, min_confidence=min_confidence)
query, min_confidence=min_confidence
)
return JsonResponse([r.json() for r in book_results], safe=False)
# use webfinger for mastodon style account@domain.com username
if re.match(r'\B%s' % regex.full_username, query):
if re.match(r"\B%s" % regex.full_username, query):
handle_remote_webfinger(query)
# do a user search
user_results = models.User.viewer_aware_objects(request.user).annotate(
similarity=Greatest(
TrigramSimilarity('username', query),
TrigramSimilarity('localname', query),
user_results = (
models.User.viewer_aware_objects(request.user)
.annotate(
similarity=Greatest(
TrigramSimilarity("username", query),
TrigramSimilarity("localname", query),
)
)
).filter(
similarity__gt=0.5,
).order_by('-similarity')[:10]
.filter(
similarity__gt=0.5,
)
.order_by("-similarity")[:10]
)
# any relevent lists?
list_results = privacy_filter(
request.user, models.List.objects,
privacy_levels=['public', 'followers']
).annotate(
similarity=Greatest(
TrigramSimilarity('name', query),
TrigramSimilarity('description', query),
list_results = (
privacy_filter(
request.user,
models.List.objects,
privacy_levels=["public", "followers"],
)
).filter(
similarity__gt=0.1,
).order_by('-similarity')[:10]
.annotate(
similarity=Greatest(
TrigramSimilarity("name", query),
TrigramSimilarity("description", query),
)
)
.filter(
similarity__gt=0.1,
)
.order_by("-similarity")[:10]
)
book_results = connector_manager.search(
query, min_confidence=min_confidence)
book_results = connector_manager.search(query, min_confidence=min_confidence)
data = {
'book_results': book_results,
'user_results': user_results,
'list_results': list_results,
'query': query,
"book_results": book_results,
"user_results": user_results,
"list_results": list_results,
"query": query,
}
return TemplateResponse(request, 'search_results.html', data)
return TemplateResponse(request, "search_results.html", data)