X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=t%2Fmoe%2Fconfig.py;h=d17d1c8af7e7ccf75d236f3f120ac169230ffd3f;hb=204f84eafd2659dd82b06feb7d182d4a15a44237;hp=f24e1ef8f357748b41b13f2b8cff20419cfb90d7;hpb=b07a7c4bf08db2928e1845c4e60798f7c9ad8b65;p=moe.git diff --git a/t/moe/config.py b/t/moe/config.py index f24e1ef..d17d1c8 100644 --- a/t/moe/config.py +++ b/t/moe/config.py @@ -1,10 +1,6 @@ """ -config.py ---------- - Lazy conditional string evaluation module for Moe configuration variables. - * Each variable has ordered list of operations (definitions), each defining operation either assigns (SET) or appends (APPEND) value of an expression to the variable. Each operation may be guarded by condition(s). @@ -98,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 @@ -107,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): @@ -278,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):