mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-09 14:13:35 +00:00
Add membernames to gam print group-members
This commit is contained in:
28
src/gam.py
28
src/gam.py
@ -7876,12 +7876,16 @@ def doPrintAliases():
|
|||||||
|
|
||||||
def doPrintGroupMembers():
|
def doPrintGroupMembers():
|
||||||
cd = buildGAPIObject(u'directory')
|
cd = buildGAPIObject(u'directory')
|
||||||
todrive = all_groups = False
|
todrive = membernames = False
|
||||||
|
all_groups = []
|
||||||
i = 3
|
i = 3
|
||||||
while i < len(sys.argv):
|
while i < len(sys.argv):
|
||||||
if sys.argv[i].lower() == u'todrive':
|
if sys.argv[i].lower() == u'todrive':
|
||||||
todrive = True
|
todrive = True
|
||||||
i += 1
|
i += 1
|
||||||
|
elif sys.argv[i].lower() == u'membernames':
|
||||||
|
membernames = True
|
||||||
|
i += 1
|
||||||
elif sys.argv[i].lower() == u'group':
|
elif sys.argv[i].lower() == u'group':
|
||||||
all_groups = [{u'email': sys.argv[i+1].lower()}]
|
all_groups = [{u'email': sys.argv[i+1].lower()}]
|
||||||
i += 2
|
i += 2
|
||||||
@ -7889,6 +7893,8 @@ def doPrintGroupMembers():
|
|||||||
print 'ERROR: %s is not a valid argument for "gam print group-members"' % sys.argv[i]
|
print 'ERROR: %s is not a valid argument for "gam print group-members"' % sys.argv[i]
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
member_attributes = [{u'group': u'group'},]
|
member_attributes = [{u'group': u'group'},]
|
||||||
|
if membernames:
|
||||||
|
member_attributes[0][u'memberName'] = u'memberName'
|
||||||
if not all_groups:
|
if not all_groups:
|
||||||
all_groups = callGAPIpages(service=cd.groups(), function=u'list', items=u'groups', message_attribute=u'email',
|
all_groups = callGAPIpages(service=cd.groups(), function=u'list', items=u'groups', message_attribute=u'email',
|
||||||
customer=GC_Values[GC_CUSTOMER_ID], fields=u'nextPageToken,groups(email)')
|
customer=GC_Values[GC_CUSTOMER_ID], fields=u'nextPageToken,groups(email)')
|
||||||
@ -7908,6 +7914,26 @@ def doPrintGroupMembers():
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
member_attributes[0][title] = title
|
member_attributes[0][title] = title
|
||||||
member_attr[title] = member[title]
|
member_attr[title] = member[title]
|
||||||
|
if membernames:
|
||||||
|
if member[u'type'] == u'USER':
|
||||||
|
try:
|
||||||
|
mbinfo = callGAPI(cd.users(), u'get',
|
||||||
|
throw_reasons=[u'notFound', u'forbidden'],
|
||||||
|
userKey=member[u'id'], fields=u'name')
|
||||||
|
memberName = mbinfo[u'name'][u'fullName']
|
||||||
|
except googleapiclient.errors.HttpError:
|
||||||
|
memberName = u'Unknown'
|
||||||
|
elif member[u'type'] == u'GROUP':
|
||||||
|
try:
|
||||||
|
mbinfo = callGAPI(cd.groups(), u'get',
|
||||||
|
throw_reasons=[u'notFound', u'forbidden'],
|
||||||
|
groupKey=member[u'id'], fields=u'name')
|
||||||
|
memberName = mbinfo[u'name']
|
||||||
|
except googleapiclient.errors.HttpError:
|
||||||
|
memberName = u'Unknown'
|
||||||
|
else:
|
||||||
|
memberName = u'Unknown'
|
||||||
|
member_attr[u'memberName'] = memberName
|
||||||
member_attributes.append(member_attr)
|
member_attributes.append(member_attr)
|
||||||
i += 1
|
i += 1
|
||||||
titles = member_attributes[0].keys()
|
titles = member_attributes[0].keys()
|
||||||
|
Reference in New Issue
Block a user