From 6d22b6fc668efb75ef62c68a43258a07f8ff3fdb Mon Sep 17 00:00:00 2001 From: Cy Date: Mon, 1 Jun 2020 08:13:03 +0000 Subject: [PATCH] Pleroma bug requires /search before /account_search works Bluh... falling back to /search if /account_search fails. --- brutaldon/views.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/brutaldon/views.py b/brutaldon/views.py index 0b01c31..bb73eba 100644 --- a/brutaldon/views.py +++ b/brutaldon/views.py @@ -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(