From a5a31a5fc0f14f4f66cf362ee85747be159e364d Mon Sep 17 00:00:00 2001 From: Erovia Date: Sun, 13 Oct 2019 20:23:11 +0200 Subject: 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 d150ee917d..0d3703c8cf 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 1a29bb25c8..7b130bdea6 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 c9d632517b..9a9dc4b958 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 -- cgit v1.2.3