From 4a41761bd4c55f8285826e9276fea94840a08afd Mon Sep 17 00:00:00 2001 From: Dan Carley Date: Tue, 13 Aug 2013 15:31:14 +0100 Subject: [PATCH] Add username argument to vcloud-login Allows a username to be passed to `vcloud-login` on the command line. Rather than always prompting for it. This makes it easier to use against Platform1, where the username is a UID and has to be suffixed with the organisation UID, which is annoying when the auth token expires every hour or so. --- vcloudtools/command/login.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vcloudtools/command/login.py b/vcloudtools/command/login.py index 0797292..c189ae7 100644 --- a/vcloudtools/command/login.py +++ b/vcloudtools/command/login.py @@ -10,24 +10,25 @@ log = logging.getLogger(__name__) parser = ArghParser() -def login_if_needed(vcloud): +def login_if_needed(vcloud, user): if vcloud.logged_in: log.info("Already logged in") return print("Please log into vCloud", file=sys.stderr) - username = _raw_input("Username: ") + username = user or _raw_input("Username: ") password = getpass("Password: ") vcloud.login(username, password) +@arg('-u', '--user', help='Username', default=None) def login(args): """ Log into a vCloud instance, and print the resulting auth token. """ c = VCloudAPIClient() - login_if_needed(c) + login_if_needed(c, args.user) print("export {0}='{1}'".format(envkey('auth_token'), c.token))