]> mj.ucw.cz Git - moe.git/blobdiff - t/moe/config.py
Locating batch tasks
[moe.git] / t / moe / config.py
index 909730321245e636ba4bc202968f926472257481..99d36f3cb5fa853ebc79e6e48358cc82f05d9c2a 100644 (file)
@@ -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))