Add trains-init verifies credentials

This commit is contained in:
allegroai 2019-09-14 13:55:45 +03:00
parent 2ba372560e
commit 933a9ad12e

View File

@ -93,29 +93,42 @@ def main():
print('\nTRAINS Hosts configuration:\nAPI: {}\nWeb App: {}\nFile Store: {}\n'.format( print('\nTRAINS Hosts configuration:\nAPI: {}\nWeb App: {}\nFile Store: {}\n'.format(
api_host, web_host, files_host)) api_host, web_host, files_host))
print(description.format(web_host), end='') while True:
parse_input = input() print(description.format(web_host), end='')
# check if these are valid credentials parse_input = input()
credentials = None # check if these are valid credentials
# noinspection PyBroadException
try:
parsed = ConfigFactory.parse_string(parse_input)
if parsed:
credentials = parsed.get("credentials", None)
except Exception:
credentials = None credentials = None
# noinspection PyBroadException
try:
parsed = ConfigFactory.parse_string(parse_input)
if parsed:
credentials = parsed.get("credentials", None)
except Exception:
credentials = None
if not credentials or set(credentials) != {"access_key", "secret_key"}: if not credentials or set(credentials) != {"access_key", "secret_key"}:
print('Could not parse user credentials, try again one after the other.') print('Could not parse user credentials, try again one after the other.')
credentials = {} credentials = {}
# parse individual # parse individual
print('Enter user access key: ', end='') print('Enter user access key: ', end='')
credentials['access_key'] = input() credentials['access_key'] = input()
print('Enter user secret: ', end='') print('Enter user secret: ', end='')
credentials['secret_key'] = input() credentials['secret_key'] = input()
print('Detected credentials key=\"{}\" secret=\"{}\"'.format(credentials['access_key'],
credentials['secret_key'], ))
from trains.backend_api.session import Session
# noinspection PyBroadException
try:
print('Verifying credentials ...')
Session(api_key=credentials['access_key'], secret_key=credentials['secret_key'], host=api_host)
print('Credentials verified!')
break
except Exception:
print('Error: could not verify credentials: host={} access={} secret={}'.format(
api_host, credentials['access_key'], credentials['secret_key']))
print('Detected credentials key=\"{}\" secret=\"{}\"'.format(credentials['access_key'],
credentials['secret_key'], ))
# noinspection PyBroadException # noinspection PyBroadException
try: try:
default_sdk_conf = Path(__file__).parent.absolute() / 'sdk.conf' default_sdk_conf = Path(__file__).parent.absolute() / 'sdk.conf'