From cc5808fb17c10db489dee419b5639af5b42e4b9f Mon Sep 17 00:00:00 2001 From: Andrey Pavlov Date: Mon, 14 Mar 2016 16:24:29 +0300 Subject: [PATCH] Added custom help for interactive mode * appropriate help messages will be printed for all commands in interactive mode * oslo config opts will be printed for kolla-mesos help call partial blueprint per-service-cli Change-Id: I87c10a89c05c96f3adc227c674ed2fa3f9575ee9 --- kolla_mesos/cmd/shell.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/kolla_mesos/cmd/shell.py b/kolla_mesos/cmd/shell.py index 101048e5..b828688e 100644 --- a/kolla_mesos/cmd/shell.py +++ b/kolla_mesos/cmd/shell.py @@ -12,6 +12,7 @@ import os.path +import shlex import sys from cliff import app @@ -52,6 +53,16 @@ class KollaMesosInteractiveApp(interactive.InteractiveApp): def do_run(self, arg): self.default(arg) + def do_help(self, arg): + line_parts = shlex.split(arg) + try: + self.command_manager.find_command(line_parts) + return self.default(self.parsed('help ' + arg)) + except ValueError: + # There is a builtin cmd2 command + pass + return interactive.InteractiveApp.do_help(self, arg) + # TODO(apavlov): implement custom --help class KollaMesosShell(app.App): @@ -91,9 +102,11 @@ def _separate_args(argv): def main(argv=sys.argv[1:]): config_args, command_args = _separate_args(argv) - need_help = ('help' in config_args or '-h' in config_args or + need_help = (['help'] == command_args or '-h' in config_args or '--help' in config_args) if need_help: + CONF([], project='kolla-mesos') + CONF.print_help() return KollaMesosShell().run(['help']) for com in CMD_LIST: