add valid_mandatory to parse_args
This commit is contained in:
parent
6de205b260
commit
e61e064c41
1 changed files with 12 additions and 8 deletions
|
@ -219,7 +219,10 @@ class TiramisuCmdlineParser(ArgumentParser):
|
|||
group.add_argument(*args, **kwargs)
|
||||
|
||||
|
||||
def parse_args(self, *args, **kwargs):
|
||||
def parse_args(self,
|
||||
*args,
|
||||
valid_mandatory=True,
|
||||
**kwargs):
|
||||
kwargs['namespace'] = TiramisuNamespace(self.config)
|
||||
try:
|
||||
namespaces = super().parse_args(*args, **kwargs)
|
||||
|
@ -236,13 +239,14 @@ class TiramisuCmdlineParser(ArgumentParser):
|
|||
self.error('the following arguments are required: {}'.format(name))
|
||||
else:
|
||||
self.error('unrecognized arguments: {}'.format(name))
|
||||
for key in self.config.value.mandatory():
|
||||
if self.fullpath or '.' not in key:
|
||||
name = key
|
||||
else:
|
||||
name = key.rsplit('.', 1)[1]
|
||||
args = self._gen_argument(name, self.config.option(key).property.get())
|
||||
self.error('the following arguments are required: {}'.format(args))
|
||||
if valid_mandatory:
|
||||
for key in self.config.value.mandatory():
|
||||
if self.fullpath or '.' not in key:
|
||||
name = key
|
||||
else:
|
||||
name = key.rsplit('.', 1)[1]
|
||||
args = self._gen_argument(name, self.config.option(key).property.get())
|
||||
self.error('the following arguments are required: {}'.format(args))
|
||||
return namespaces
|
||||
|
||||
def format_usage(self,
|
||||
|
|
Loading…
Reference in a new issue