exceptions in flow_from_clientsecrets should sys.exit() if message is supplied.
Reviewed in http://codereview.appspot.com/5266044/
diff --git a/oauth2client/client.py b/oauth2client/client.py
index 9f45f35..d888d79 100644
--- a/oauth2client/client.py
+++ b/oauth2client/client.py
@@ -748,15 +748,21 @@
clientsecrets.InvalidClientSecretsError if the clientsecrets file is
invalid.
"""
- client_type, client_info = clientsecrets.loadfile(filename)
- if client_type in [clientsecrets.TYPE_WEB, clientsecrets.TYPE_INSTALLED]:
- return OAuth2WebServerFlow(
- client_info['client_id'],
- client_info['client_secret'],
- scope,
- None, # user_agent
- client_info['auth_uri'],
- client_info['token_uri'])
+ try:
+ client_type, client_info = clientsecrets.loadfile(filename)
+ if client_type in [clientsecrets.TYPE_WEB, clientsecrets.TYPE_INSTALLED]:
+ return OAuth2WebServerFlow(
+ client_info['client_id'],
+ client_info['client_secret'],
+ scope,
+ None, # user_agent
+ client_info['auth_uri'],
+ client_info['token_uri'])
+ except clientsecrets.InvalidClientSecretsError:
+ if message:
+ sys.exit(message)
+ else:
+ raise
else:
raise UnknownClientSecretsFlowError(
'This OAuth 2.0 flow is unsupported: "%s"' * client_type)