Loading kontrctl/commands/auth.py +14 −5 Original line number Diff line number Diff line Loading @@ -12,20 +12,29 @@ log = logging.getLogger(__name__) @click.command('logout', help="Logout") @click.option('-r', '--remote', required=False, help='Sets remote for the login') @click.option('-a', '--all', required=False, help='Remove all login info', is_flag=True, default=False) @click.pass_obj def cli_logout(obj: AppConfig, remote): def cli_logout(obj: AppConfig, remote: str, all: bool): print(f"Logout from: {remote.name} ({remote.url})") remote: Remote = helpers.get_remote(obj, remote) _logout(remote) _logout(remote, all=all) helpers.entity_printer(remote) def _logout(remote: Remote): def _logout(remote: Remote, all: bool): def __safe_del(remote: Remote, name: str): if name in remote.config: del remote.config[name] for name in ['access_token', 'refresh_token', 'secret', 'username', 'password', 'identifier']: __safe_del(remote, name) def __del_params(*params): for name in params: __safe_del(remove, name) __del_params('access_token', 'refresh_token') if all: __del_params('username', 'identifier', 'password', 'secret') remote.update() Loading Loading
kontrctl/commands/auth.py +14 −5 Original line number Diff line number Diff line Loading @@ -12,20 +12,29 @@ log = logging.getLogger(__name__) @click.command('logout', help="Logout") @click.option('-r', '--remote', required=False, help='Sets remote for the login') @click.option('-a', '--all', required=False, help='Remove all login info', is_flag=True, default=False) @click.pass_obj def cli_logout(obj: AppConfig, remote): def cli_logout(obj: AppConfig, remote: str, all: bool): print(f"Logout from: {remote.name} ({remote.url})") remote: Remote = helpers.get_remote(obj, remote) _logout(remote) _logout(remote, all=all) helpers.entity_printer(remote) def _logout(remote: Remote): def _logout(remote: Remote, all: bool): def __safe_del(remote: Remote, name: str): if name in remote.config: del remote.config[name] for name in ['access_token', 'refresh_token', 'secret', 'username', 'password', 'identifier']: __safe_del(remote, name) def __del_params(*params): for name in params: __safe_del(remove, name) __del_params('access_token', 'refresh_token') if all: __del_params('username', 'identifier', 'password', 'secret') remote.update() Loading