jw-pkg/src/python/jw/pkg/build/cmds/CmdGetval.py
Jan Lindemann eb2dd919a1 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 <jan@janware.com>
2026-01-26 17:58:23 +01:00

22 lines
821 B
Python

# -*- coding: utf-8 -*-
from argparse import Namespace, ArgumentParser
from ..Cmd import Cmd
class CmdGetval(Cmd): # export
def __init__(self) -> None:
super().__init__('getval', help='Get value from project config')
def add_arguments(self, parser: ArgumentParser) -> None:
super().add_arguments(parser)
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))