Skip to content

WIP: introducing $$ in config for property like behaviour

Linus Pithan requested to merge double_dollar into master

This is a proposal to use $$ in config for property-like evaluation of keys using the $. notation. Currently $a.b is evaluate once at the instantiation of the corresponding config object which is the expected behavior for $a but not always what is wanted for $a.b.

Here is an example for the following config:

- name: double_dollar
  y: $roby.position
  yy: $$roby.position

imagine the following sequence:

BLISS [1]: dd=config.get('double_dollar')
BLISS [2]: dd
  Out [2]: filename:<dummy.yml>,plugin:'default',{'plugin': 'default', 'name': 'double_dollar', 'y': 1.0, 'yy': 1.0}
BLISS [3]: umv(roby,2)
Moving roby from 1 to 2
BLISS [4]: dd
  Out [4]: filename:<dummy.yml>,plugin:'default',{'plugin': 'default', 'name': 'double_dollar', 'y': 1.0, 'yy': 2.0}

when calling dd['yy'] it always reflects the current roby.position while dd['y'] reflects the position a the initialization of the config object.

PS: Doc is still missing, I didn't find the section on $..

Merge request reports