]> mj.ucw.cz Git - moe.git/blobdiff - t/moe/config.py
Update makefile
[moe.git] / t / moe / config.py
index bcef93be2cb841e394bc496abeb687078275b1aa..d17d1c8af7e7ccf75d236f3f120ac169230ffd3f 100644 (file)
@@ -94,6 +94,10 @@ class ConfigTree(object):
       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 parse(self, s, source=None, level=0):
     """Parse `s` (stream/string) into the tree, see `moe.confparser.ConfigParser` for details."""
     import moe.confparser
@@ -103,10 +107,10 @@ class ConfigTree(object):
   def parse_file(self, filename, desc=None, level=0):
     """Parse an utf-8 file into the tree, see `moe.confparser.ConfigParser` for details. 
     Names the source "`filename` <`desc`>". """
-    f = open(filename, 'rt')
-    if desc: 
-      filename += " <" + desc + ">" 
-    self.parse(f, source=filename, level=level)
+    with open(filename, 'rt') as f:
+      if desc: 
+       filename += " <" + desc + ">" 
+      self.parse(f, source=filename, level=level)
 
 
 class ConfigElem(object):
@@ -274,7 +278,7 @@ class ConfigVar(ConfigElem):
     self.fixed = True
 
   def unfix(self):
-    "Set the variable to be modifiable again."
+    "Make the variable modifiable again."
     self.fixed = False
 
   def value(self, depth=0):