Mercurial > libervia-backend
changeset 3521:62f490eff51c
jp (pubsub, blog): `rename` commands implementation
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 01 May 2021 18:39:34 +0200 |
parents | 8acaf857cd0a |
children | 41a6c144dc90 |
files | sat_frontends/jp/cmd_blog.py sat_frontends/jp/cmd_pubsub.py |
diffstat | 2 files changed, 75 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/sat_frontends/jp/cmd_blog.py Sat May 01 18:38:58 2021 +0200 +++ b/sat_frontends/jp/cmd_blog.py Sat May 01 18:39:34 2021 +0200 @@ -637,6 +637,42 @@ self.host.quit() +class Rename(base.CommandBase): + + def __init__(self, host): + base.CommandBase.__init__( + self, + host, + "rename", + use_pubsub=True, + pubsub_flags={C.SINGLE_ITEM}, + help=_("rename an blog item"), + ) + + def add_parser_options(self): + self.parser.add_argument( + "new_id", + help=_("new item id to use") + ) + + async def start(self): + try: + await self.host.bridge.mbRename( + self.args.service, + self.args.node, + self.args.item, + self.args.new_id, + self.profile, + ) + except Exception as e: + self.disp( + f"can't rename item: {e}", error=True + ) + self.host.quit(C.EXIT_BRIDGE_ERRBACK) + else: + self.disp("Item renamed") + self.host.quit(C.EXIT_OK) + class Preview(base.CommandBase, common.BaseEdit): # TODO: need to be rewritten with template output @@ -994,7 +1030,7 @@ await self.set_progress_id(progress_id) class Blog(base.CommandBase): - subcommands = (Set, Get, Edit, Preview, Import) + subcommands = (Set, Get, Edit, Rename, Preview, Import) def __init__(self, host): super(Blog, self).__init__(
--- a/sat_frontends/jp/cmd_pubsub.py Sat May 01 18:38:58 2021 +0200 +++ b/sat_frontends/jp/cmd_pubsub.py Sat May 01 18:39:34 2021 +0200 @@ -960,6 +960,43 @@ self.host.quit() +class Rename(base.CommandBase): + + def __init__(self, host): + base.CommandBase.__init__( + self, + host, + "rename", + use_pubsub=True, + pubsub_flags={C.NODE, C.SINGLE_ITEM}, + help=_("rename a pubsub item"), + ) + + def add_parser_options(self): + self.parser.add_argument( + "new_id", + help=_("new item id to use") + ) + + async def start(self): + try: + await self.host.bridge.psItemRename( + self.args.service, + self.args.node, + self.args.item, + self.args.new_id, + self.profile, + ) + except Exception as e: + self.disp( + f"can't rename item: {e}", error=True + ) + self.host.quit(C.EXIT_BRIDGE_ERRBACK) + else: + self.disp("Item renamed") + self.host.quit(C.EXIT_OK) + + class Subscribe(base.CommandBase): def __init__(self, host): base.CommandBase.__init__( @@ -1982,6 +2019,7 @@ Get, Delete, Edit, + Rename, Subscribe, Unsubscribe, Subscriptions,