mandatory_warnings: PropertiesOptionError in optiondescription stop validate mandatory warnings for followers options
This commit is contained in:
@ -537,7 +537,7 @@ class Values(object):
|
||||
description,
|
||||
currpath,
|
||||
config,
|
||||
od_setting_properties):
|
||||
od_config_bag):
|
||||
settings = context.cfgimpl_get_settings()
|
||||
# for option in config.cfgimpl_get_children(self.config_bag):
|
||||
for option in description.impl_getchildren(config_bag, context):
|
||||
@ -545,26 +545,23 @@ class Values(object):
|
||||
path = '.'.join(currpath + [name])
|
||||
|
||||
if option.impl_is_optiondescription():
|
||||
ori_setting_properties = config_bag.properties
|
||||
config_bag.properties = od_setting_properties
|
||||
try:
|
||||
option_bag = OptionBag()
|
||||
option_bag.set_option(option,
|
||||
path,
|
||||
None,
|
||||
config_bag)
|
||||
od_config_bag)
|
||||
subconfig = config.get_subconfig(name,
|
||||
option_bag)
|
||||
except PropertiesOptionError as err:
|
||||
pass
|
||||
else:
|
||||
config_bag.properties = ori_setting_properties
|
||||
for path in self._mandatory_warnings(context,
|
||||
config_bag,
|
||||
option,
|
||||
currpath + [name],
|
||||
subconfig,
|
||||
od_setting_properties):
|
||||
od_config_bag):
|
||||
yield path
|
||||
elif not option.impl_is_symlinkoption():
|
||||
# don't verifying symlink
|
||||
@ -610,6 +607,9 @@ class Values(object):
|
||||
config_bag = ConfigBag(context=config_bag.context)
|
||||
config_bag.properties = frozenset(setting_properties)
|
||||
config_bag.set_permissive()
|
||||
od_config_bag = ConfigBag(context=config_bag.context)
|
||||
od_config_bag.properties = frozenset(od_setting_properties)
|
||||
od_config_bag.set_permissive()
|
||||
|
||||
descr = context.cfgimpl_get_description()
|
||||
return self._mandatory_warnings(context,
|
||||
@ -617,4 +617,4 @@ class Values(object):
|
||||
descr,
|
||||
[],
|
||||
context,
|
||||
od_setting_properties)
|
||||
od_config_bag)
|
||||
|
Reference in New Issue
Block a user