def load_from_argparse_arguments(cls, namespace, **kwargs): if not (kwargs.get('password') or namespace.os_password): kwargs['password'] = utils.prompt_user_password() if not kwargs.get('totp') and (hasattr(sys.stdin, 'isatty') and sys.stdin.isatty()): try: kwargs['totp'] = getpass.getpass('Totp token: ') except EOFError: pass return super(Wmtotp, cls).load_from_argparse_arguments(namespace, **kwargs)
def auth_check(self, args): if args.os_token or args.os_endpoint: if not args.os_token: raise exc.CommandError( 'Expecting a token provided via either --os-token or ' 'env[OS_SERVICE_TOKEN]') if not args.os_endpoint: raise exc.CommandError( 'Expecting an endpoint provided via either ' '--os-endpoint or env[OS_SERVICE_ENDPOINT]') # user supplied a token and endpoint and at least one other cred if args.os_username or args.os_password or args.os_auth_url: msg = ('WARNING: Bypassing authentication using a token & ' 'endpoint (authentication credentials are being ' 'ignored).') print(msg) else: if not args.os_auth_url: raise exc.CommandError( 'Expecting an auth URL via either --os-auth-url or ' 'env[OS_AUTH_URL]') if args.os_username or args.os_password: if not args.os_username: raise exc.CommandError( 'Expecting a username provided via either ' '--os-username or env[OS_USERNAME]') if not args.os_password: args.os_password = utils.prompt_user_password() # No password because we didn't have a tty or the # user Ctl-D when prompted? if not args.os_password: raise exc.CommandError( 'Expecting a password provided via either ' '--os-password, env[OS_PASSWORD], or ' 'prompted response') else: raise exc.CommandError('Expecting authentication method via' '\n either a service token, ' '--os-token or env[OS_SERVICE_TOKEN], ' '\n credentials, ' '--os-username or env[OS_USERNAME]')
def load_from_argparse_arguments(cls, namespace, **kwargs): if not (kwargs.get('password') or namespace.os_password): kwargs['password'] = utils.prompt_user_password() return super(Password, cls).load_from_argparse_arguments(namespace, **kwargs)