Handle "all users in domain" member in doPrintGroups

Get id in members list, use that if there is no email. If neither email
or id exist, give the “Not sure…” message
This commit is contained in:
Ross Scroggs
2016-01-14 15:29:57 -08:00
parent 43adae4e70
commit b817bd04ec

View File

@ -7710,7 +7710,7 @@ def doPrintGroups():
sys.stderr.write(u' Getting %s for %s (%s of %s)\n' % (roles, group_vals[u'email'], count, total_groups)) sys.stderr.write(u' Getting %s for %s (%s of %s)\n' % (roles, group_vals[u'email'], count, total_groups))
page_message = u'Got %%num_items%% members: %%first_item%% - %%last_item%%\n' page_message = u'Got %%num_items%% members: %%first_item%% - %%last_item%%\n'
all_group_members = callGAPIpages(cd.members(), u'list', u'members', page_message=page_message, all_group_members = callGAPIpages(cd.members(), u'list', u'members', page_message=page_message,
message_attribute=u'email', groupKey=group_vals[u'email'], roles=roles, fields=u'nextPageToken,members(email,role)') message_attribute=u'email', groupKey=group_vals[u'email'], roles=roles, fields=u'nextPageToken,members(email,id,role)')
if members: if members:
all_true_members = list() all_true_members = list()
if managers: if managers:
@ -7718,10 +7718,9 @@ def doPrintGroups():
if owners: if owners:
all_owners = list() all_owners = list()
for member in all_group_members: for member in all_group_members:
try: member_email = member.get(u'email', member.get(u'id', None))
member_email = member[u'email'] if not member_email:
except KeyError: sys.stderr.write(u' Not sure what to do with: %s' % member)
sys.stderr.write(u' Not sure to do with: %s' % member)
continue continue
try: try:
if members and member[u'role'] == u'MEMBER': if members and member[u'role'] == u'MEMBER':