Modify invalid exception error to be less cryptic and give more context

to the developer.

This is to fix my personal debugging experience when
trying to debug the fact that I had downloaded the
wrong client secret JSON type (not web/installed).
This commit is contained in:
Nathan Naze
2015-01-18 00:07:01 -05:00
committed by Nathan Naze
parent f85d6739ff
commit f438f5a4bd

View File

@@ -69,8 +69,18 @@ class InvalidClientSecretsError(Error):
def _validate_clientsecrets(obj):
if obj is None or len(obj) != 1:
raise InvalidClientSecretsError('Invalid file format.')
_INVALID_FILE_FORMAT_MSG = (
'Invalid file format. See '
'https://developers.google.com/api-client-library/'
'python/guide/aaa_client_secrets')
if obj is None:
raise InvalidClientSecretsError(_INVALID_FILE_FORMAT_MSG)
if len(obj) != 1:
raise InvalidClientSecretsError(
_INVALID_FILE_FORMAT_MSG + ' '
'Expected a JSON object with a single property for a "web" or '
'"installed" application')
client_type = tuple(obj)[0]
if client_type not in VALID_CLIENT:
raise InvalidClientSecretsError('Unknown client type: %s.' % (client_type,))