in Synthesis_incorporation/value_search/value_search_settings.py [0:0]
def set(self, name: Text, value: Any) -> None:
"""Sets the setting with the given name to the given value.
Args:
name: The name of the setting to set. For example, 'timeout' is used to
set `self.timeout`, and either 'printing.statistics' or
'printing_statistics' can be used to set `self.printing.statistics`.
value: The value to set the setting to.
"""
if hasattr(self, name):
setattr(self, name, value)
else:
for group_name in Settings._GROUP_NAMES:
if name.startswith(group_name) and name[len(group_name)] in {".", "_"}:
reduced_name = name[len(group_name) + 1 :]
group = getattr(self, group_name)
if hasattr(group, reduced_name):
setattr(group, reduced_name, value)
break
else:
raise ValueError(
"The name `{}` does not match any setting.".format(name)
)