mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-28 09:51:36 +00:00
wait_for_mailbox command to ensure user has mailbox before attempting Gmail commands.
This commit is contained in:
@@ -11937,6 +11937,8 @@ def ProcessGAMCommand(args):
|
||||
gapi_directory_users.signout(users)
|
||||
elif command == 'turnoff2sv':
|
||||
gapi_directory_users.turn_off_2sv(users)
|
||||
elif command == 'waitformailbox':
|
||||
gapi_directory_users.wait_for_mailbox(users)
|
||||
else:
|
||||
controlflow.invalid_argument_exit(command, 'gam')
|
||||
except IndexError:
|
||||
|
||||
@@ -41,3 +41,22 @@ def turn_off_2sv(users):
|
||||
'turnOff',
|
||||
soft_errors=True,
|
||||
userKey=user)
|
||||
|
||||
def wait_for_mailbox(users):
|
||||
'''Wait until users mailbox is provisioned.'''
|
||||
cd = gapi_directory.build()
|
||||
i = 0
|
||||
count = len(users)
|
||||
for user in users:
|
||||
i += 1
|
||||
user = gam.normalizeEmailAddressOrUID(user)
|
||||
while True:
|
||||
result = gapi.call(cd.users(),
|
||||
'get',
|
||||
'fields=isMailboxSetup',
|
||||
userKey=user)
|
||||
mailbox_is_setup = result.get('isMailboxSetup')
|
||||
print(f'{user} mailboxIsSetup: {mailbox_is_setup}')
|
||||
if mailbox_is_setup:
|
||||
break
|
||||
sleep(3)
|
||||
|
||||
Reference in New Issue
Block a user