From eec094c5056c74bd4ff8602b62c5a98f17166506 Mon Sep 17 00:00:00 2001 From: lrjball Date: Sat, 5 Dec 2020 01:49:51 +0000 Subject: [PATCH] Added efficiency improvement to get_installation --- blurb_it/util.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/blurb_it/util.py b/blurb_it/util.py index 3a8c513..d39bfa6 100644 --- a/blurb_it/util.py +++ b/blurb_it/util.py @@ -5,6 +5,7 @@ import jwt from aiohttp_session import get_session +from gidgethub import BadRequest from blurb_it import error @@ -66,18 +67,13 @@ def get_jwt(app_id, private_key): async def get_installation(gh, jwt, username): - - async for installation in gh.getiter( - "/app/installations", - jwt=jwt, - accept="application/vnd.github.machine-man-preview+json", - ): - if installation["account"]["login"] == username: - return installation - - raise error.InstallationNotFound( - f"Can't find installation by that user: {username}" - ) + try: + return await gh.getitem(f"/users/{username}/installation", jwt=jwt) + except BadRequest: + # will raise a 401 if no installation for this user + raise error.InstallationNotFound( + f"Can't find installation by that user: {username}" + ) async def get_installation_access_token(gh, jwt, installation_id):