From 375e36ff96a9fa0c0e42ac1d384f041e16a77524 Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Mon, 26 Jul 2021 14:45:26 -0400 Subject: [PATCH] State what we don't like about invalid JSON --- src/gam/__init__.py | 10 +++++----- src/gam/controlflow.py | 7 +++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/gam/__init__.py b/src/gam/__init__.py index b56353c5..d85db310 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -871,9 +871,9 @@ def getSvcAcctCredentials(scopes, act_as, api=None): GM_Globals[GM_OAUTH2SERVICE_ACCOUNT_CLIENT_ID] = GM_Globals[ GM_OAUTH2SERVICE_JSON_DATA]['client_id'] return credentials - except (ValueError, KeyError): + except (ValueError, KeyError) as err: printLine(MESSAGE_INSTRUCTIONS_OAUTH2SERVICE_JSON) - controlflow.invalid_json_exit(GC_Values[GC_OAUTH2SERVICE_JSON]) + controlflow.invalid_json_exit(GC_Values[GC_OAUTH2SERVICE_JSON], err) def getAPIVersion(api): @@ -899,8 +899,8 @@ def readDiscoveryFile(api_version): try: discovery = json.loads(json_string) return (disc_file, discovery) - except ValueError: - controlflow.invalid_json_exit(disc_file) + except ValueError as err: + controlflow.invalid_json_exit(disc_file, err) def getOauth2TxtStorageCredentials(): @@ -7889,7 +7889,7 @@ def doCreateOrRotateServiceAccountKeys(iam=None, i += 1 elif myarg == 'yubikeyslot': new_data['yubikey_slot'] = sys.argv[i+1].upper() - i =+ 2 + i += 2 elif myarg == 'yubikeypin': new_data['yubikey_pin'] = input('Enter your YubiKey PIN: ') i += 1 diff --git a/src/gam/controlflow.py b/src/gam/controlflow.py index e4402986..3a4faca7 100644 --- a/src/gam/controlflow.py +++ b/src/gam/controlflow.py @@ -65,9 +65,12 @@ def csv_field_error_exit(field_name, field_names): ','.join(field_names))) -def invalid_json_exit(file_name): +def invalid_json_exit(file_name, err=None): """Raises a system exit when invalid JSON content is encountered.""" - system_error_exit(17, MESSAGE_INVALID_JSON.format(file_name)) + err_msg = MESSAGE_INVALID_JSON.format(file_name) + if err: + err_msg += f'\n\n{err}' + system_error_exit(17, err_msg) def wait_on_failure(current_attempt_num,