Improve help messages
This commit is contained in:
parent
7a374c645b
commit
8f86a2e107
1 changed files with 18 additions and 7 deletions
25
mmcli.py
25
mmcli.py
|
@ -405,7 +405,7 @@ ENVVAR_ACCESSTOKEN = "MM_ACCESSTOKEN"
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
prog_name = os.path.basename(sys.argv[0])
|
prog_name = os.path.basename(sys.argv[0])
|
||||||
description = "Interact with Mattermost on the CLI"
|
description = "Interact with Mattermost on the CLI and in scripts"
|
||||||
epilog = f"""
|
epilog = f"""
|
||||||
For further help, use `{prog_name} <action> -h`.
|
For further help, use `{prog_name} <action> -h`.
|
||||||
|
|
||||||
|
@ -413,7 +413,7 @@ Where a "URL name" is required, "id:" plus an ID can also be used instead. So th
|
||||||
town-square
|
town-square
|
||||||
id:123abc456def789ghi012jkl34
|
id:123abc456def789ghi012jkl34
|
||||||
|
|
||||||
Hint: JSON output can be filtered on the command line with jq(1).
|
Hint: JSON output can be filtered with jq(1).
|
||||||
""".strip()
|
""".strip()
|
||||||
|
|
||||||
argparser = argparse.ArgumentParser(
|
argparser = argparse.ArgumentParser(
|
||||||
|
@ -422,7 +422,7 @@ Hint: JSON output can be filtered on the command line with jq(1).
|
||||||
)
|
)
|
||||||
argparser.add_argument("-i", "--ids", help="use IDs instead of names", action="store_true")
|
argparser.add_argument("-i", "--ids", help="use IDs instead of names", action="store_true")
|
||||||
argparser.add_argument(
|
argparser.add_argument(
|
||||||
"--format", help="output format; only json has all fields; default: json", choices=FORMATTERS, default="json")
|
"--format", help="output format; only json has all fields; default: %(default)s", choices=FORMATTERS, default="json")
|
||||||
|
|
||||||
argparser.add_argument(
|
argparser.add_argument(
|
||||||
"--server",
|
"--server",
|
||||||
|
@ -432,9 +432,14 @@ Hint: JSON output can be filtered on the command line with jq(1).
|
||||||
subparsers = argparser.add_subparsers(title="actions", dest="action", required=True)
|
subparsers = argparser.add_subparsers(title="actions", dest="action", required=True)
|
||||||
|
|
||||||
parser_login = subparsers.add_parser("login", help="retrieve an access token")
|
parser_login = subparsers.add_parser("login", help="retrieve an access token")
|
||||||
parser_login.add_argument("login_id", help="username or email", default=os.getenv(ENVVAR_USERNAME))
|
parser_login.add_argument(
|
||||||
parser_login.add_argument("--password", default=os.getenv(ENVVAR_PASSWORD))
|
"login_id",
|
||||||
parser_login.add_argument("--totp", default=os.getenv(ENVVAR_TOTP))
|
help=f"username or email; envvar: {ENVVAR_USERNAME}",
|
||||||
|
default=os.getenv(ENVVAR_USERNAME))
|
||||||
|
parser_login.add_argument(
|
||||||
|
"--password", help=f"envvar: {ENVVAR_PASSWORD}", default=os.getenv(ENVVAR_PASSWORD))
|
||||||
|
parser_login.add_argument(
|
||||||
|
"--totp", help=f"envvar: {ENVVAR_TOTP}", default=os.getenv(ENVVAR_TOTP))
|
||||||
|
|
||||||
# TODO support multiple channels
|
# TODO support multiple channels
|
||||||
# parser_cat = subparsers.add_parser("cat", help="list messages in channel(s)")
|
# parser_cat = subparsers.add_parser("cat", help="list messages in channel(s)")
|
||||||
|
@ -451,7 +456,13 @@ Hint: JSON output can be filtered on the command line with jq(1).
|
||||||
parser_ls.add_argument("team", help="URL name of team")
|
parser_ls.add_argument("team", help="URL name of team")
|
||||||
parser_ls.add_argument("-f", "--follow", action="store_true", help="keep running, printing changes to channels as they come in")
|
parser_ls.add_argument("-f", "--follow", action="store_true", help="keep running, printing changes to channels as they come in")
|
||||||
|
|
||||||
parser_send = subparsers.add_parser("send", help="send message(s)")
|
send_json_format = """
|
||||||
|
The input format accepted on stdin is one JSON object per line. The possible fields are 'message',
|
||||||
|
'channel' (URL names of team and channel: '<team>/<channel>'), 'channel_id'
|
||||||
|
""".strip()
|
||||||
|
parser_send = subparsers.add_parser(
|
||||||
|
"send", help="send message(s)",
|
||||||
|
epilog=send_json_format)
|
||||||
parser_send.add_argument(
|
parser_send.add_argument(
|
||||||
"--channel", help="URL names of team and channel: '<team>/<channel>'; if not provided, "
|
"--channel", help="URL names of team and channel: '<team>/<channel>'; if not provided, "
|
||||||
"messages must be provided on stdin and each must specify channel")
|
"messages must be provided on stdin and each must specify channel")
|
||||||
|
|
Loading…
Reference in a new issue