Added correct detection for unknown outputs/groups inside groups
This commit is contained in:
parent
1202351fed
commit
745e8758ad
|
|
@ -438,7 +438,10 @@ def _generate_outputs(outputs, targets, invert, skip_pre, cli_order, no_priority
|
|||
exit(EXIT_BAD_ARGS)
|
||||
# Expand groups
|
||||
logger.debug('Outputs before groups expansion: {}'.format(targets))
|
||||
targets = RegOutput.solve_groups(targets)
|
||||
try:
|
||||
targets = RegOutput.solve_groups(targets, 'command line')
|
||||
except KiPlotConfigurationError as e:
|
||||
config_error(str(e))
|
||||
logger.debug('Outputs after groups expansion: {}'.format(targets))
|
||||
# Now convert the list of names into a list of output objects
|
||||
if cli_order:
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ class RegOutput(Optionable, Registrable):
|
|||
return None
|
||||
|
||||
@staticmethod
|
||||
def solve_groups(targets, level=0):
|
||||
def solve_groups(targets, where, level=0):
|
||||
""" Replaces any group by its members.
|
||||
Returns a new list.
|
||||
Assumes the outputs and groups are valid. """
|
||||
|
|
@ -177,8 +177,11 @@ class RegOutput(Optionable, Registrable):
|
|||
if t in RegOutput._def_outputs:
|
||||
new_targets.append(t)
|
||||
else:
|
||||
new_grp = RegOutput._def_groups.get(t, None)
|
||||
if new_grp is None:
|
||||
raise KiPlotConfigurationError('Unknown output/group `{}` (in `{}`)'.format(t, where))
|
||||
# Recursive expand
|
||||
new_targets.extend(RegOutput.solve_groups(RegOutput._def_groups[t], level))
|
||||
new_targets.extend(RegOutput.solve_groups(new_grp, t, level))
|
||||
return new_targets
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue