From a5a31a5fc0f14f4f66cf362ee85747be159e364d Mon Sep 17 00:00:00 2001 From: Erovia Date: Sun, 13 Oct 2019 20:23:11 +0200 Subject: [PATCH] MILC: Use dashes instead of underscores for subcommands The subcommand functions' name follows the Python convention of using snake case, but looks odd on the command line. Fix it by converting underscores to dashes, eg.: list_keyboards -> list-keyboards. --- docs/cli.md | 4 ++-- lib/python/milc.py | 7 ++++--- lib/python/qmk/tests/test_cli_commands.py | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/cli.md b/docs/cli.md index d150ee917..0d3703c8c 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -125,14 +125,14 @@ This command examines your environment and alerts you to potential build or flas qmk doctor ``` -## `qmk list_keyboards` +## `qmk list-keyboards` This command lists all the keyboards currently defined in `qmk_firmware` **Usage**: ``` -qmk list_keyboards +qmk list-keyboards ``` ## `qmk new-keymap` diff --git a/lib/python/milc.py b/lib/python/milc.py index 1a29bb25c..7b130bdea 100644 --- a/lib/python/milc.py +++ b/lib/python/milc.py @@ -429,11 +429,12 @@ class MILC(object): self.arg_only.append(arg_name) del kwargs['arg_only'] + name = handler.__name__.replace("_", "-") if handler is self._entrypoint: self.add_argument(*args, **kwargs) - elif handler.__name__ in self.subcommands: - self.subcommands[handler.__name__].add_argument(*args, **kwargs) + elif name in self.subcommands: + self.subcommands[name].add_argument(*args, **kwargs) else: raise RuntimeError('Decorated function is not entrypoint or subcommand!') @@ -599,7 +600,7 @@ class MILC(object): self.add_subparsers() if not name: - name = handler.__name__ + name = handler.__name__.replace("_", "-") self.acquire_lock() kwargs['help'] = description diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index c9d632517..9a9dc4b95 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -40,7 +40,7 @@ def test_pyformat(): def test_list_keyboards(): - result = check_subcommand('list_keyboards') + result = check_subcommand('list-keyboards') assert result.returncode == 0 # check to see if a known keyboard is returned # this will fail if handwired/onekey/pytest is removed