jp (base, pubsub/set): new --quiet argument:

`--quiet` can be used to only return essential data from command. This is notably useful
to remove message and trailing line feed when returning a data which must be parsed by an
other program.
This commit is contained in:
Goffi 2020-11-12 14:53:16 +01:00
commit d818f1737b
2 changed files with 10 additions and 1 deletions

View file

@ -316,6 +316,11 @@ class Jp(object):
'--verbose', '-v', action='count', default=0,
help=_("Add a verbosity level (can be used multiple times)"))
quiet_parent = self.parents['quiet'] = argparse.ArgumentParser(add_help=False)
quiet_parent.add_argument(
'--quiet', '-q', action='store_true',
help=_("be quiet (only output machine readable data)"))
draft_parent = self.parents['draft'] = argparse.ArgumentParser(add_help=False)
draft_group = draft_parent.add_argument_group(_('draft handling'))
draft_group.add_argument(

View file

@ -734,6 +734,7 @@ class Set(base.CommandBase):
host,
"set",
use_pubsub=True,
use_quiet=True,
pubsub_flags={C.NODE},
help=_("publish a new item or update an existing one"),
)
@ -770,7 +771,10 @@ class Set(base.CommandBase):
self.host.quit(C.EXIT_BRIDGE_ERRBACK)
else:
if published_id:
self.disp("Item published at {pub_id}".format(pub_id=published_id))
if self.args.quiet:
self.disp(published_id, end='')
else:
self.disp(f"Item published at {published_id}")
else:
self.disp("Item published")
self.host.quit(C.EXIT_OK)