From c7c1bfbeba8b9b025e54bff1798f92f30308844d Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Wed, 7 Jul 2021 11:03:04 -0400 Subject: [PATCH] retry wait for mailbox if user doesn't exist --- src/gam/gapi/directory/users.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/gam/gapi/directory/users.py b/src/gam/gapi/directory/users.py index 78145a3b..495d1fe4 100644 --- a/src/gam/gapi/directory/users.py +++ b/src/gam/gapi/directory/users.py @@ -3,6 +3,7 @@ from time import sleep import gam from gam import gapi from gam.gapi import directory as gapi_directory +from gam.gapi import errors as gapi_errors def get_primary(email): @@ -53,10 +54,16 @@ def wait_for_mailbox(users): i += 1 user = gam.normalizeEmailAddressOrUID(user) while True: - result = gapi.call(cd.users(), - 'get', - 'fields=isMailboxSetup', - userKey=user) + try: + result = gapi.call(cd.users(), + 'get', + 'fields=isMailboxSetup', + userKey=user, + throw_reasons=[gapi_errors.ErrorReason.USER_NOT_FOUND]) + except gapi_errors.GapiUserNotFoundError: + print(f'{user} mailboxIsSetup: False (user does not exist yet)') + sleep(3) + continue mailbox_is_setup = result.get('isMailboxSetup') print(f'{user} mailboxIsSetup: {mailbox_is_setup}') if mailbox_is_setup: