From ab754d148e5fd59277302ad873c266c7c9f2f678 Mon Sep 17 00:00:00 2001 From: Omar Ryhan Date: Sat, 2 Sep 2023 15:58:28 +0530 Subject: [PATCH] fix user creds not found error in next page iterator --- aiogoogle/__version__.py | 2 +- aiogoogle/models.py | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/aiogoogle/__version__.py b/aiogoogle/__version__.py index abde999..5ad4c43 100644 --- a/aiogoogle/__version__.py +++ b/aiogoogle/__version__.py @@ -2,7 +2,7 @@ __about__ = "Async Google API client" __description__ = __about__ __url__ = "https://github.com/omarryhan/aiogoogle" -__version_info__ = ("5", "4", "0") +__version_info__ = ("5", "5", "0") __version__ = ".".join(__version_info__) __author__ = "Omar Ryhan" __author_email__ = "omarryhan@gmail.com" diff --git a/aiogoogle/models.py b/aiogoogle/models.py index 3b2f6ef..3db0e41 100644 --- a/aiogoogle/models.py +++ b/aiogoogle/models.py @@ -348,17 +348,22 @@ async def _next_page_generator( ) if next_req is not None: async with session_factory() as sess: + user_creds = None + if isinstance(prev_res.auth_manager, (ServiceAccountManager, Oauth2Manager)): - authorize_params = [next_req] + is_refreshed = False + user_creds = None + if isinstance(prev_res.auth_manager, ServiceAccountManager): is_refreshed = await prev_res.auth_manager.refresh() + if is_refreshed: + prev_res.auth_manager.authorize(next_req) else: is_refreshed, user_creds = await prev_res.auth_manager.refresh(prev_res.user_creds) - authorize_params.append(user_creds) - - if is_refreshed is True: - prev_res.auth_manager.authorize(*authorize_params) - prev_res = await sess.send(next_req, full_res=True, auth_manager=prev_res.auth_manager) + if is_refreshed and user_creds: + prev_res.auth_manager.authorize(next_req, user_creds=user_creds) + + prev_res = await sess.send(next_req, full_res=True, auth_manager=prev_res.auth_manager, user_creds=user_creds) else: prev_res = None