From 47da88c3bb4941543622fea4c9b89ce6b63fe8bb Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Sat, 5 Jul 2014 12:43:44 -0400 Subject: [PATCH] add "gam user delete aliases" command and "gam update user email vfe" command --- gam.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gam.py b/gam.py index 6ea40ebd..8ab4f13e 100644 --- a/gam.py +++ b/gam.py @@ -3875,12 +3875,26 @@ def doUpdateUser(users): user = user[4:] elif user.find(u'@') == -1: user = u'%s@%s' % (user, domain) + if body[u'primaryEmail'][:4].lower() == u'vfe@': + if user.find(u'@') == -1: + body[u'primaryEmail'] = u'vfe.%s.%05d@%s' % (user, random.randint(1,99999), domain) + else: + body[u'primaryEmail'] = u'vfe.%s.%05d@%s' % (user[:user.find(u'@')], random.randint(1,99999), user[user.find(u'@')+1:]) sys.stderr.write(u'updating user %s...\n' % user) if do_update_user: result = callGAPI(service=cd.users(), function=u'patch', soft_errors=True, userKey=user, body=body) if do_admin_user: result2 = callGAPI(service=cd.users(), function=u'makeAdmin', soft_errors=True, userKey=user, body={u'status': is_admin}) +def doRemoveUsersAliases(users): + cd = buildGAPIObject(u'directory') + for user in users: + user_aliases = callGAPI(service=cd.users(), function=u'get', userKey=user, fields=u'aliases,id,primaryEmail') + if u'aliases' in user_aliases: + for an_alias in user_aliases[u'aliases']: + print u'Removing alias %s for %s...' % (an_alias, user_aliases[u'primaryEmail']) + callGAPI(service=cd.users().aliases(), function=u'delete', userKey=user_aliases[u'id'], alias=an_alias) + def doRemoveUsersGroups(users): cd = buildGAPIObject(u'directory') for user in users: @@ -5390,7 +5404,7 @@ def doPrintUsers(): user_fields.append(u'thumbnailPhotoUrl') i += 1 elif sys.argv[i].lower() == u'id': - user_fields.append(u',id') + user_fields.append(u'id') i += 1 elif sys.argv[i].lower() == u'creationtime': user_fields.append(u'creationTime') @@ -7129,6 +7143,8 @@ try: doDelTokens(users) elif delWhat in [u'group', u'groups']: doRemoveUsersGroups(users) + elif delWhat in [u'alias', u'aliases']: + doRemoveUsersAliases(users) elif delWhat in [u'emptydrivefolders']: deleteEmptyDriveFolders(users) elif delWhat in [u'drivefile']: