X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=t%2Fmoe%2Fconfig.py;h=99d36f3cb5fa853ebc79e6e48358cc82f05d9c2a;hb=9587bd376c403e16a0f79c9046eecc9b8f543cb8;hp=909730321245e636ba4bc202968f926472257481;hpb=2c4186720e4f04fd83847e8a74d42e74b45f09e8;p=moe.git diff --git a/t/moe/config.py b/t/moe/config.py index 9097303..99d36f3 100644 --- a/t/moe/config.py +++ b/t/moe/config.py @@ -21,7 +21,15 @@ class MoeConfig: self.load(file) elif name is not None: self.name = name - self.load(open(name, "r")) + try: + file = open(name, "r") + except IOError, err: + raise MoeConfigInvalid, "Cannot open configuration file %s: %s" % (name, err.strerror) + else: + self.load(file) + + def set(self, k, v): + self.vars[k] = [("s", v)] def parse_line(self, x): x = x.rstrip("\n").lstrip(" \t") @@ -133,7 +141,8 @@ class MoeConfigStack: self.in_progress[k] = 1; v = self.do_get(k, len(self.stk)-1) del self.in_progress[k] - self.cache[k] = v + ## FIXME: This is disabled, because the immutability invariant is broken! + # self.cache[k] = v return v def do_get(self, k, pos): @@ -162,7 +171,7 @@ class MoeConfigStack: return seen.keys() def dump(self, file=sys.stdout): - for k in self.keys(): + for k in sorted(self.keys()): v = self[k] file.write("%s=%s\n" % (k,v))