From 862a5dbc95219714ae12c2e6bad7e49d9a676a9e Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Sun, 6 Jul 2025 07:12:52 +0200 Subject: [PATCH] ArgsContainer.specified_args: Add property ArgsContainer.specified_args is a list of arguments that were explicitly specified, i.e. not defaults, in the order they were specified in. Signed-off-by: Jan Lindemann --- tools/python/jwutils/ArgsContainer.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/python/jwutils/ArgsContainer.py b/tools/python/jwutils/ArgsContainer.py index 5019701..3adcdb2 100644 --- a/tools/python/jwutils/ArgsContainer.py +++ b/tools/python/jwutils/ArgsContainer.py @@ -11,6 +11,7 @@ class ArgsContainer: # export __args = OrderedDict() __kwargs = OrderedDict() __values = {} + __specified_args = list() def __getattr__(self, name): values = self.__values @@ -27,6 +28,7 @@ class ArgsContainer: # export if not name in self.__kwargs.keys(): raise Exception(f'No argument "{name}" defined') self.__values[name] = value + self.__specified_args.append(name) def add_argument(self, *args, **kwargs): for arg in args: @@ -63,6 +65,10 @@ class ArgsContainer: # export pass slog(prio, f'{name}: {val}', caller=caller) + @property + def specified_args(self): + return self.__specified_args + def add_argument(p: argparse.ArgumentParser|ArgsContainer, name: str, *args, **kwargs): # export key = name.strip('--').replace('-', '_')