Pleroma bug requires /search before /account_search works

Bluh... falling back to /search if /account_search fails.
This commit is contained in:
Cy 2020-06-01 08:13:03 +00:00 committed by Cy
parent 9dd5e44e6f
commit 6d22b6fc66

View File

@ -710,7 +710,7 @@ def same_username(account, acct, username):
myhost = account.username.split("@",1)[1]
if acct == user and host == myhost: return True
return False
from pprint import pprint
@br_login_required
def user(request, username, prev=None, next=None):
try:
@ -718,15 +718,24 @@ def user(request, username, prev=None, next=None):
except NotLoggedInException:
return redirect(about)
user_dict = None
print("username",username)
# pleroma currently flops if the user's not already locally known
# this is a BUG that they MUST FIX
# but until then, we might have to "prime the engine"
# by doing a regular search, if the account search fails
# to return results.
for dict in mastodon.account_search(username):
pprint(("check", dict))
raise SystemExit(23)
print("check", dict.acct)
if not same_username(account, dict.acct, username): continue
user_dict = dict
break
else:
raise Http404(_("The user %s could not be found.") % username)
for dict in mastodon.search(username,
result_type="accounts",
account_id=username):
user_dict = dict
break
else:
raise Http404(_("The user %s could not be found.") % username)
data = mastodon.account_statuses(user_dict.id, max_id=next, min_id=prev)
relationship = mastodon.account_relationships(user_dict.id)[0]
notifications = _notes_count(account, mastodon)
@ -1459,6 +1468,7 @@ def search_results(request):
else:
query = ""
account, mastodon = get_usercontext(request)
results = mastodon.search(query)
notifications = _notes_count(account, mastodon)
return render(