summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2022-07-05 06:47:48 -0400
committerDaniil Baturin <daniil@vyos.io>2022-07-05 06:47:48 -0400
commitb8e2a0650168ce4958dc360f857c816f02c6284f (patch)
tree6842da0649121686702e360044f4453b34e809bb
parent81f7df57eeb0714bda8d9103659e644de48d1dc9 (diff)
downloadvyos-1x-b8e2a0650168ce4958dc360f857c816f02c6284f.tar.gz
vyos-1x-b8e2a0650168ce4958dc360f857c816f02c6284f.zip
T2719: add general support for boolean options to generative op mode
Since Python as of 3.9 doesn't give us an option to look up argument's default value by its name, this implementation requires that all boolean options must default to false.
-rw-r--r--python/vyos/opmode.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/python/vyos/opmode.py b/python/vyos/opmode.py
index 134f55017..4e68d6e03 100644
--- a/python/vyos/opmode.py
+++ b/python/vyos/opmode.py
@@ -81,13 +81,10 @@ def run(module):
for opt in type_hints:
th = type_hints[opt]
- # Show commands require an option to choose between raw JSON and human-readable
- # formatted output.
- # For interactive use, they default to formatted output.
- if _is_show(function_name) and (opt == "raw"):
- subparser.add_argument(f"--raw", action='store_true')
- elif _is_optional_type(th):
+ if _is_optional_type(th):
subparser.add_argument(f"--{opt}", type=_get_arg_type(th), default=None)
+ elif _get_arg_type(th) == bool:
+ subparser.add_argument(f"--{opt}", action='store_true')
else:
subparser.add_argument(f"--{opt}", type=_get_arg_type(th), required=True)