mirror of
ssh://git.janware.com/janware/proj/jw-pkg
synced 2026-04-24 17:23:36 +02:00
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>
22 lines
821 B
Python
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))
|