newstk.append(cfg)
self.stk = newstk
self.reset_cache()
+
+def parse_overrides(argv):
+ cfg = None
+ argv0 = argv.pop(0)
+ while len(argv) > 0 and argv[0].find("=") >= 0:
+ if cfg is None:
+ cfg = MoeConfig()
+ cfg.parse_line(argv.pop(0))
+ argv.insert(0, argv0)
+ return cfg
self.meta = moe.meta.MoeMeta()
pass
- def init(self):
- self.init_global()
- ## FIXME: Configuration overrides
+ def init(self, overrides=None):
+ self.init_global(overrides)
self.init_test()
## FIXME: Initialize logging early on
self.init_task()
- def init_global(self):
+ def init_global(self, overrides):
main_cfg = moe.config.MoeConfig(name = os.path.join(self.cfgs['HOME'], "config"))
self.cfgs.push(main_cfg)
+ if overrides:
+ self.cfgs.push(overrides)
def init_test(self):
test = self.cfgs['TEST_DIR']
import moe.pipeline
import moe.batch
+overrides = moe.config.parse_overrides(sys.argv)
+
e = moe.eval.Eval()
e.builtins.set("HOME", ".")
e.builtins.set("TASK", "sum")
-e.builtins.set("CONTESTANT", "somebody")
-e.init()
+e.builtins.set("CONTESTANT", "mj")
+e.init(overrides)
-print "Task configuration:"
+print "\nTask configuration:"
e.cfgs.dump()
print
-moe.batch.locate(e)
+if len(sys.argv) > 1:
+ file = sys.argv[1]
+else:
+ file = None
+moe.batch.locate(e, file)
+
+print "\nConfiguration after per-extension overrides:"
+e.cfgs.dump()
+print
e.run()
+
+print "\nFinal meta file:"
+e.meta.write()