From e777eb6c99e15fc7297cf759dbc8bc5931eaf853 Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Wed, 16 Nov 2016 09:45:04 -0800 Subject: [PATCH] Handle Google reporting invalid when getting group settings (#335) --- src/gam.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/gam.py b/src/gam.py index e737f94a..401fa708 100755 --- a/src/gam.py +++ b/src/gam.py @@ -9189,18 +9189,22 @@ def doPrintGroups(): group[u'Owners'] = memberDelimiter.join(allOwners) if getSettings and not GroupIsAbuseOrPostmaster(groupEmail): sys.stderr.write(u" Retrieving Settings for group %s (%s/%s)...\r\n" % (groupEmail, i, count)) - settings = callGAPI(gs.groups(), u'get', - retry_reasons=[u'serviceLimit'], - groupUniqueId=groupEmail, fields=gsfields) - for key in settings: - if key in [u'email', u'name', u'description', u'kind', u'etag']: - continue - setting_value = settings[key] - if setting_value is None: - setting_value = u'' - if key not in titles: - addTitleToCSVfile(key, titles) - group[key] = setting_value + try: + settings = callGAPI(gs.groups(), u'get', + retry_reasons=[u'serviceLimit'], + throw_reasons=[u'invalid'], + groupUniqueId=groupEmail, fields=gsfields) + for key in settings: + if key in [u'email', u'name', u'description', u'kind', u'etag']: + continue + setting_value = settings[key] + if setting_value is None: + setting_value = u'' + if key not in titles: + addTitleToCSVfile(key, titles) + group[key] = setting_value + except googleapiclient.errors.HttpError: + sys.stderr.write(u" Settings unavailable for group %s (%s/%s)...\r\n" % (groupEmail, i, count)) csvRows.append(group) writeCSVfile(csvRows, titles, u'Groups', todrive)