Mercurial > libervia-backend
diff libervia/cli/cmd_profile.py @ 4270:0d7bb4df2343
Reformatted code base using black.
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 19 Jun 2024 18:44:57 +0200 |
parents | 47401850dec6 |
children |
line wrap: on
line diff
--- a/libervia/cli/cmd_profile.py Tue Jun 18 12:06:45 2024 +0200 +++ b/libervia/cli/cmd_profile.py Wed Jun 19 18:44:57 2024 +0200 @@ -30,7 +30,7 @@ __commands__ = ["Profile"] -PROFILE_HELP = _('The name of the profile') +PROFILE_HELP = _("The name of the profile") class ProfileConnect(base.CommandBase): @@ -39,7 +39,9 @@ def __init__(self, host): # it's weird to have a command named "connect" with need_connect=False, but it can be handy to be able # to launch just the session, so some paradoxes don't hurt - super(ProfileConnect, self).__init__(host, 'connect', need_connect=False, help=('connect a profile')) + super(ProfileConnect, self).__init__( + host, "connect", need_connect=False, help=("connect a profile") + ) def add_parser_options(self): pass @@ -51,10 +53,13 @@ self.parser.error(_("You need to use either --connect or --start-session")) self.host.quit() + class ProfileDisconnect(base.CommandBase): def __init__(self, host): - super(ProfileDisconnect, self).__init__(host, 'disconnect', need_connect=False, help=('disconnect a profile')) + super(ProfileDisconnect, self).__init__( + host, "disconnect", need_connect=False, help=("disconnect a profile") + ) def add_parser_options(self): pass @@ -72,29 +77,44 @@ class ProfileCreate(base.CommandBase): def __init__(self, host): super(ProfileCreate, self).__init__( - host, 'create', use_profile=False, help=('create a new profile')) + host, "create", use_profile=False, help=("create a new profile") + ) def add_parser_options(self): - self.parser.add_argument('profile', type=str, help=_('the name of the profile')) - self.parser.add_argument( - '-p', '--password', type=str, default='', - help=_('the password of the profile')) - self.parser.add_argument( - '-j', '--jid', type=str, help=_('the jid of the profile')) + self.parser.add_argument("profile", type=str, help=_("the name of the profile")) self.parser.add_argument( - '-x', '--xmpp-password', type=str, - help=_( - 'the password of the XMPP account (use profile password if not specified)' - ), - metavar='PASSWORD') + "-p", + "--password", + type=str, + default="", + help=_("the password of the profile"), + ) self.parser.add_argument( - '-A', '--autoconnect', choices=[C.BOOL_TRUE, C.BOOL_FALSE], nargs='?', - const=C.BOOL_TRUE, - help=_('connect this profile automatically when backend starts') + "-j", "--jid", type=str, help=_("the jid of the profile") ) self.parser.add_argument( - '-C', '--component', default='', - help=_('set to component import name (entry point) if this is a component')) + "-x", + "--xmpp-password", + type=str, + help=_( + "the password of the XMPP account (use profile password if not specified)" + ), + metavar="PASSWORD", + ) + self.parser.add_argument( + "-A", + "--autoconnect", + choices=[C.BOOL_TRUE, C.BOOL_FALSE], + nargs="?", + const=C.BOOL_TRUE, + help=_("connect this profile automatically when backend starts"), + ) + self.parser.add_argument( + "-C", + "--component", + default="", + help=_("set to component import name (entry point) if this is a component"), + ) async def start(self): """Create a new profile""" @@ -103,55 +123,70 @@ self.host.quit(C.EXIT_BRIDGE_ERROR) try: await self.host.bridge.profile_create( - self.args.profile, self.args.password, self.args.component) + self.args.profile, self.args.password, self.args.component + ) except Exception as e: self.disp(f"can't create profile: {e}", error=True) self.host.quit(C.EXIT_BRIDGE_ERRBACK) try: await self.host.bridge.profile_start_session( - self.args.password, self.args.profile) + self.args.password, self.args.profile + ) except Exception as e: self.disp(f"can't start profile session: {e}", error=True) self.host.quit(C.EXIT_BRIDGE_ERRBACK) if self.args.jid: await self.host.bridge.param_set( - "JabberID", self.args.jid, "Connection", profile_key=self.args.profile) + "JabberID", self.args.jid, "Connection", profile_key=self.args.profile + ) xmpp_pwd = self.args.password or self.args.xmpp_password if xmpp_pwd: await self.host.bridge.param_set( - "Password", xmpp_pwd, "Connection", profile_key=self.args.profile) + "Password", xmpp_pwd, "Connection", profile_key=self.args.profile + ) if self.args.autoconnect is not None: await self.host.bridge.param_set( - "autoconnect_backend", self.args.autoconnect, "Connection", - profile_key=self.args.profile) + "autoconnect_backend", + self.args.autoconnect, + "Connection", + profile_key=self.args.profile, + ) - self.disp(f'profile {self.args.profile} created successfully', 1) + self.disp(f"profile {self.args.profile} created successfully", 1) self.host.quit() class ProfileDefault(base.CommandBase): def __init__(self, host): super(ProfileDefault, self).__init__( - host, 'default', use_profile=False, help=('print default profile')) + host, "default", use_profile=False, help=("print default profile") + ) def add_parser_options(self): pass async def start(self): - print(await self.host.bridge.profile_name_get('@DEFAULT@')) + print(await self.host.bridge.profile_name_get("@DEFAULT@")) self.host.quit() class ProfileDelete(base.CommandBase): def __init__(self, host): - super(ProfileDelete, self).__init__(host, 'delete', use_profile=False, help=('delete a profile')) + super(ProfileDelete, self).__init__( + host, "delete", use_profile=False, help=("delete a profile") + ) def add_parser_options(self): - self.parser.add_argument('profile', type=str, help=PROFILE_HELP) - self.parser.add_argument('-f', '--force', action='store_true', help=_('delete profile without confirmation')) + self.parser.add_argument("profile", type=str, help=PROFILE_HELP) + self.parser.add_argument( + "-f", + "--force", + action="store_true", + help=_("delete profile without confirmation"), + ) async def start(self): if self.args.profile not in await self.host.bridge.profiles_list_get(): @@ -170,25 +205,35 @@ def __init__(self, host): super(ProfileInfo, self).__init__( - host, 'info', need_connect=False, use_output=C.OUTPUT_DICT, - help=_('get information about a profile')) - self.to_show = [(_("jid"), "Connection", "JabberID"),] + host, + "info", + need_connect=False, + use_output=C.OUTPUT_DICT, + help=_("get information about a profile"), + ) + self.to_show = [ + (_("jid"), "Connection", "JabberID"), + ] def add_parser_options(self): self.parser.add_argument( - '--show-password', action='store_true', - help=_('show the XMPP password IN CLEAR TEXT')) + "--show-password", + action="store_true", + help=_("show the XMPP password IN CLEAR TEXT"), + ) async def start(self): if self.args.show_password: self.to_show.append((_("XMPP password"), "Connection", "Password")) - self.to_show.append((_("autoconnect (backend)"), "Connection", - "autoconnect_backend")) + self.to_show.append( + (_("autoconnect (backend)"), "Connection", "autoconnect_backend") + ) data = {} for label, category, name in self.to_show: try: value = await self.host.bridge.param_get_a_async( - name, category, profile_key=self.host.profile) + name, category, profile_key=self.host.profile + ) except Exception as e: self.disp(f"can't get {name}/{category} param: {e}", error=True) else: @@ -201,15 +246,20 @@ class ProfileList(base.CommandBase): def __init__(self, host): super(ProfileList, self).__init__( - host, 'list', use_profile=False, use_output='list', help=('list profiles')) + host, "list", use_profile=False, use_output="list", help=("list profiles") + ) def add_parser_options(self): group = self.parser.add_mutually_exclusive_group() group.add_argument( - '-c', '--clients', action='store_true', help=_('get clients profiles only')) + "-c", "--clients", action="store_true", help=_("get clients profiles only") + ) group.add_argument( - '-C', '--components', action='store_true', - help=('get components profiles only')) + "-C", + "--components", + action="store_true", + help=("get components profiles only"), + ) async def start(self): if self.args.clients: @@ -226,55 +276,82 @@ def __init__(self, host): super(ProfileModify, self).__init__( - host, 'modify', need_connect=False, help=_('modify an existing profile')) + host, "modify", need_connect=False, help=_("modify an existing profile") + ) def add_parser_options(self): profile_pwd_group = self.parser.add_mutually_exclusive_group() profile_pwd_group.add_argument( - '-w', '--password', help=_('change the password of the profile')) + "-w", "--password", help=_("change the password of the profile") + ) profile_pwd_group.add_argument( - '--disable-password', action='store_true', - help=_('disable profile password (dangerous!)')) - self.parser.add_argument('-j', '--jid', help=_('the jid of the profile')) + "--disable-password", + action="store_true", + help=_("disable profile password (dangerous!)"), + ) + self.parser.add_argument("-j", "--jid", help=_("the jid of the profile")) self.parser.add_argument( - '-x', '--xmpp-password', help=_('change the password of the XMPP account'), - metavar='PASSWORD') + "-x", + "--xmpp-password", + help=_("change the password of the XMPP account"), + metavar="PASSWORD", + ) self.parser.add_argument( - '-D', '--default', action='store_true', help=_('set as default profile')) + "-D", "--default", action="store_true", help=_("set as default profile") + ) self.parser.add_argument( - '-A', '--autoconnect', choices=[C.BOOL_TRUE, C.BOOL_FALSE], nargs='?', + "-A", + "--autoconnect", + choices=[C.BOOL_TRUE, C.BOOL_FALSE], + nargs="?", const=C.BOOL_TRUE, - help=_('connect this profile automatically when backend starts') + help=_("connect this profile automatically when backend starts"), ) async def start(self): if self.args.disable_password: - self.args.password = '' + self.args.password = "" if self.args.password is not None: await self.host.bridge.param_set( - "Password", self.args.password, "General", profile_key=self.host.profile) + "Password", self.args.password, "General", profile_key=self.host.profile + ) if self.args.jid is not None: await self.host.bridge.param_set( - "JabberID", self.args.jid, "Connection", profile_key=self.host.profile) + "JabberID", self.args.jid, "Connection", profile_key=self.host.profile + ) if self.args.xmpp_password is not None: await self.host.bridge.param_set( - "Password", self.args.xmpp_password, "Connection", - profile_key=self.host.profile) + "Password", + self.args.xmpp_password, + "Connection", + profile_key=self.host.profile, + ) if self.args.default: await self.host.bridge.profile_set_default(self.host.profile) if self.args.autoconnect is not None: await self.host.bridge.param_set( - "autoconnect_backend", self.args.autoconnect, "Connection", - profile_key=self.host.profile) + "autoconnect_backend", + self.args.autoconnect, + "Connection", + profile_key=self.host.profile, + ) self.host.quit() class Profile(base.CommandBase): subcommands = ( - ProfileConnect, ProfileDisconnect, ProfileCreate, ProfileDefault, ProfileDelete, - ProfileInfo, ProfileList, ProfileModify) + ProfileConnect, + ProfileDisconnect, + ProfileCreate, + ProfileDefault, + ProfileDelete, + ProfileInfo, + ProfileList, + ProfileModify, + ) def __init__(self, host): super(Profile, self).__init__( - host, 'profile', use_profile=False, help=_('profile commands')) + host, "profile", use_profile=False, help=_("profile commands") + )