self.variables[k].dump(prefix) for k in sorted(self.variables.keys())
])
- def fix(self, key):
- "Fix variable value. Fixing undefined variable raises `UndefinedError`."
- self.lookup(key, create=True).fix()
+ def fix(self, keys):
+ "Fix value of variable or list of variables. Fixing undefined variable raises `UndefinedError`."
+ if isinstance(keys, types.StringTypes):
+ keys = [keys]
+ for key in keys:
+ self.lookup(key, create=True).fix()
def parse(self, s, source=None, level=0):
"""Parse `s` (stream/string) into the tree, see `moe.confparser.ConfigParser` for details."""
assert s.val('E') == '41'
s.var('D').remove_operation(l[0][1])
assert s.val('D') == '42'
+ # Fixing via ConfigTree.fix
+ s.t.fix('D')
+ s.t.fix(['E','A'])
+ s.parse('D=""; E=""; A=""; ')
+ s.assertRaises(cf.VariableFixedError, s.val, "D")
+ s.assertRaises(cf.VariableFixedError, s.val, "E")
+ s.assertRaises(cf.VariableFixedError, s.val, "A")
def test_unicode(s):
# Ascii (1b) and unicode (2b)