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")
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):
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))