invalid number valid enum in condition
This commit is contained in:
parent
c90324187b
commit
84a67b20d0
1 changed files with 11 additions and 5 deletions
|
@ -291,18 +291,24 @@ class ConditionAnnotator:
|
|||
msg = _(f'the source "{condition.source}" in condition cannot be a dynamic '
|
||||
f'variable in {xmlfiles}')
|
||||
raise DictConsistencyError(msg, 20) from err
|
||||
if err.errno == 42:
|
||||
xmlfiles = self.objectspace.display_xmlfiles(condition.xmlfiles)
|
||||
msg = _(f'the source "{condition.source}" in condition is an unknown variable '
|
||||
f'in {xmlfiles}')
|
||||
raise DictConsistencyError(msg, 23) from err
|
||||
raise err from err # pragma: no cover
|
||||
|
||||
def check_choice_option_condition(self):
|
||||
"""remove condition for ChoiceOption that don't have param
|
||||
"""remove condition of ChoiceOption that doesn't match
|
||||
"""
|
||||
remove_conditions = []
|
||||
for condition_idx, condition in enumerate(self.objectspace.space.constraints.condition):
|
||||
# FIXME only string?
|
||||
if condition.source.path in self.objectspace.valid_enums and \
|
||||
self.objectspace.valid_enums[condition.source.path]['type'] == 'string':
|
||||
if condition.source.path in self.objectspace.valid_enums:
|
||||
valid_enum = self.objectspace.valid_enums[condition.source.path]['values']
|
||||
remove_param = [param_idx for param_idx, param in enumerate(condition.param) \
|
||||
if param.text not in valid_enum]
|
||||
if param.type != 'variable' and param.text not in valid_enum]
|
||||
if not remove_param:
|
||||
continue
|
||||
remove_param.sort(reverse=True)
|
||||
for idx in remove_param:
|
||||
del condition.param[idx]
|
||||
|
|
Loading…
Reference in a new issue