can convert suffix to build path for dynoptiondescription

This commit is contained in:
2019-12-21 18:29:21 +01:00
parent 0cb69f7a85
commit 76e7fd93b2
9 changed files with 195 additions and 43 deletions

View File

@ -175,9 +175,10 @@ class OptionDescriptionWalk(CacheOptionDescription):
cname = child.impl_getname()
if name.startswith(cname):
for suffix in child.get_suffixes(config_bag):
if name == cname + suffix:
if name == cname + child.convert_suffix_to_path(suffix):
return child.to_dynoption(subpath,
suffix)
suffix,
child)
if self.impl_get_group_type() == groups.root:
raise AttributeError(_('unknown option "{0}" '
'in root optiondescription'
@ -199,7 +200,8 @@ class OptionDescriptionWalk(CacheOptionDescription):
if dyn and child.impl_is_dynoptiondescription():
for suffix in child.get_suffixes(config_bag):
yield child.to_dynoption(subpath,
suffix)
suffix,
child)
else:
yield child
@ -305,7 +307,9 @@ class OptionDescription(OptionDescriptionWalk):
def to_dynoption(self,
rootpath: str,
suffix: str) -> SynDynOptionDescription:
suffix: str,
ori_dyn) -> SynDynOptionDescription:
return SynDynOptionDescription(self,
rootpath,
suffix)
suffix,
ori_dyn)