nodes:
node1: 1
node2: 2
node3: 3
selected_node: ${subfield:${nodes},node1}
Can I make a subfield
resolver that returns nodes["node1"]
and stores it in selected_node
?
My attempts so far result in this error:
omegaconf.errors.GrammarParseError: token recognition error at: '{'
full_key: selected_node
object_type=dict
from omegaconf import OmegaConf
s = """
nodes:
node1: 1
node2: 2
node3: 3
selected: ${subfield:${nodes},node1}
"""
def _subfield(node, field):
return node[field]
OmegaConf.register_new_resolver("subfield", _subfield)
a = OmegaConf.create(s)
print(a.selected) # -> 1