From fffb847b5f294cbe570244cd7a712b93bf43f548 Mon Sep 17 00:00:00 2001 From: Peter Zingg Date: Sun, 27 Jul 2014 14:42:00 -0700 Subject: [PATCH 1/2] allow name and description settings in doUpdateGroup You can set 'name' and 'description' separately in doCreateGroup, but the corresponding code in doUpdateGroup is not available. Using the settings interface for these parameters seems to work. Also, the prompt for illegal attributes was incorrect. Should say 'gam update group...', not 'gam create group...' --- gam.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gam.py b/gam.py index e245bfd9..0e4c442d 100644 --- a/gam.py +++ b/gam.py @@ -4026,7 +4026,7 @@ def doUpdateGroup(): gs_object = buildDiscoveryObject(u'groupssettings') matches_gs_setting = False for (attrib, params) in gs_object[u'schemas'][u'Groups'][u'properties'].items(): - if attrib in [u'kind', u'etag', u'email', u'name', u'description']: + if attrib in [u'kind', u'etag', u'email']: continue if sys.argv[i].lower().replace(u'_', u'') == attrib.lower(): matches_gs_setting = True @@ -4052,7 +4052,7 @@ def doUpdateGroup(): value = u'false' break if not matches_gs_setting: - print u'ERROR: %s is not a valid argument for "gam create group..."' % sys.argv[i] + print u'ERROR: %s is not a valid argument for "gam update group..."' % sys.argv[i] sys.exit(9) gs_body[attrib] = value use_gs_api = True From c62fa88d002bd66ebec8a9b9893bcf46efba7b39 Mon Sep 17 00:00:00 2001 From: Peter Zingg Date: Mon, 28 Jul 2014 09:50:43 -0700 Subject: [PATCH 2/2] 'members' items key for members().list() GAPI call The default 'items' key is not found when calling the members().list() GAPI, so no existing group members are returned from callGAPIpages. The correct key is 'members'. --- gam.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gam.py b/gam.py index 0e4c442d..38f5eb4a 100644 --- a/gam.py +++ b/gam.py @@ -6447,7 +6447,7 @@ def getUsersToModify(entity_type=None, entity=None, silent=False, return_uids=Fa if not silent: sys.stderr.write(u"Getting %s of %s (may take some time for large groups)..." % (member_type_message, group)) page_message = u'Got %%%%total_items%%%% %s...' % member_type_message - members = callGAPIpages(service=cd.members(), function=u'list', page_message=page_message, groupKey=group, roles=member_type, fields=u'nextPageToken,members(email,id)') + members = callGAPIpages(service=cd.members(), function=u'list', items=u'members', page_message=page_message, groupKey=group, roles=member_type, fields=u'nextPageToken,members(email,id)') users = [] for member in members: if return_uids: