Add noaliases and groups arguments to gam info group

This commit is contained in:
Ross Scroggs
2016-03-04 14:29:56 -08:00
parent 2a37589a9f
commit bf31e72384

View File

@ -6496,7 +6496,8 @@ def doGetUserInfo(user_email=None):
def doGetGroupInfo(group_name=None): def doGetGroupInfo(group_name=None):
cd = buildGAPIObject(u'directory') cd = buildGAPIObject(u'directory')
gs = buildGAPIObject(u'groupssettings') gs = buildGAPIObject(u'groupssettings')
get_users = True getAliases = getUsers = True
getGroups = False
if group_name == None: if group_name == None:
group_name = sys.argv[3] group_name = sys.argv[3]
i = 4 i = 4
@ -6504,7 +6505,13 @@ def doGetGroupInfo(group_name=None):
i = 3 i = 3
while i < len(sys.argv): while i < len(sys.argv):
if sys.argv[i].lower() == u'nousers': if sys.argv[i].lower() == u'nousers':
get_users = False getUsers = False
i += 1
elif sys.argv[i].lower() == u'noaliases':
getAliases = False
i += 1
elif sys.argv[i].lower() == u'groups':
getGroups = True
i += 1 i += 1
else: else:
print u'ERROR: %s is not a valid argument for "gam info group"' % sys.argv[i] print u'ERROR: %s is not a valid argument for "gam info group"' % sys.argv[i]
@ -6522,9 +6529,9 @@ def doGetGroupInfo(group_name=None):
print u'' print u''
print u'Group Settings:' print u'Group Settings:'
for key, value in basic_info.items(): for key, value in basic_info.items():
if key in [u'kind', u'etag']: if (key in [u'kind', u'etag']) or ((key == u'aliases') and (not getAliases)):
continue continue
elif type(value) == type(list()): if type(value) == type(list()):
print u' %s:' % key print u' %s:' % key
for val in value: for val in value:
print u' %s' % val print u' %s' % val
@ -6542,7 +6549,14 @@ def doGetGroupInfo(group_name=None):
print u' %s: %s' % (key, value) print u' %s: %s' % (key, value)
except UnboundLocalError: except UnboundLocalError:
pass pass
if get_users: if getGroups:
groups = callGAPIpages(cd.groups(), u'list', u'groups',
userKey=basic_info[u'email'], fields=u'nextPageToken,groups(name,email)')
if groups and len(groups) > 0:
print u'Groups: ({0})'.format(len(groups))
for groupm in groups:
print u' %s: %s' % (groupm[u'name'], groupm[u'email'])
if getUsers:
members = callGAPIpages(service=cd.members(), function=u'list', items=u'members', groupKey=group_name) members = callGAPIpages(service=cd.members(), function=u'list', items=u'members', groupKey=group_name)
print u'Members:' print u'Members:'
for member in members: for member in members: