feat: add 'add_help' option un TiramisuCmdLineParser

This commit is contained in:
egarette@silique.fr 2025-11-21 07:57:28 +01:00
parent 9befbf0ade
commit f458c9eefc

View file

@ -332,6 +332,7 @@ class TiramisuCmdlineParser(ArgumentParser):
unrestraint: bool = False,
add_extra_options: bool = True,
short_name_max_len: int = 1,
add_help: bool = True,
_forhelp: bool = False,
**kwargs,
):
@ -345,6 +346,7 @@ class TiramisuCmdlineParser(ArgumentParser):
self.add_extra_options = add_extra_options
self.display_modified_value = display_modified_value
self.short_name_max_len = short_name_max_len
self.add_help = add_help
if TiramisuHelpFormatter not in formatter_class.__mro__:
formatter_class = type(
"TiramisuHelpFormatter", (TiramisuHelpFormatter, formatter_class), {}
@ -361,7 +363,7 @@ class TiramisuCmdlineParser(ArgumentParser):
else:
subconfig = subconfig.option(self.root)
self.namespace = TiramisuNamespace(self.config, self.root)
super().__init__(*args, **kwargs)
super().__init__(*args, add_help=add_help, **kwargs)
self.register("action", "help", _TiramisuHelpAction)
self._config_to_argparser(
_forhelp,
@ -419,16 +421,16 @@ class TiramisuCmdlineParser(ArgumentParser):
add_extra_options=self.add_extra_options,
short_name_max_len=self.short_name_max_len,
fullpath=self.fullpath,
add_help=self.add_help,
)
namespace_, args_ = new_parser._parse_known_args(
args_, new_parser.namespace, *others
)
else:
if self._registries["action"]["help"].needs:
# display help only when all variables assignemnt are done
self._registries["action"]["help"].needs = False
helper = self._registries["action"]["help"](None)
helper.display(self)
elif self._registries["action"]["help"].needs:
# display help only when all variables assignemnt are done
self._registries["action"]["help"].needs = False
helper = self._registries["action"]["help"](None)
helper.display(self)
return namespace_, args_
def add_argument(self, *args, **kwargs):