From eb2dd919a140309b92e4900c7fb37ea0908df796 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Wed, 21 Jan 2026 14:08:44 +0100 Subject: [PATCH] cmds.CmdGetval.add_arguments(): Don't use app.top_name CmdGetval.add_arguments() uses self.app.top_name, which may or may not be initialized at the time this runs. Not using it makes CmdGetval's ctor safe to run in the context of App.__init__(). Signed-off-by: Jan Lindemann --- src/python/jw/pkg/build/cmds/CmdGetval.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/python/jw/pkg/build/cmds/CmdGetval.py b/src/python/jw/pkg/build/cmds/CmdGetval.py index 4c01fb45..1e6956bd 100644 --- a/src/python/jw/pkg/build/cmds/CmdGetval.py +++ b/src/python/jw/pkg/build/cmds/CmdGetval.py @@ -11,9 +11,12 @@ class CmdGetval(Cmd): # export def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) - parser.add_argument('--project', default = self.app.top_name, help = 'Project name') + parser.add_argument('--project', default = None, help = 'Project name, default is name of project\'s topdir') parser.add_argument('section', default = '', help = 'Config section') parser.add_argument('key', default = '', help = 'Config key') def _run(self, args: Namespace) -> None: + project = args.project + if project is None: + args.project = self.app.top_name print(self.app.get_value(args.project, args.section, args.key))