from argparse import Namespace from typing import Any from mdrsclient.commands.base import BaseCommand from mdrsclient.config import ConfigFile from mdrsclient.connection import MDRSConnection from mdrsclient.exceptions import MissingConfigurationException class LogoutCommand(BaseCommand): @classmethod def register(cls, parsers: Any) -> None: logout_parser = parsers.add_parser("logout", help="logout from remote host") logout_parser.add_argument("remote", help="label of remote host") logout_parser.set_defaults(func=cls.func) @classmethod def func(cls, args: Namespace) -> None: remote = str(args.remote) cls.logout(remote) @classmethod def logout(cls, remote: str) -> None: remote_host = cls._parse_remote_host(remote) from mdrsclient.client import MdrsClient client = MdrsClient.from_remote(remote_host) client.logout()