]> mj.ucw.cz Git - moe.git/commitdiff
Renamed meta files to status files to match the Moe paper
authorMartin Mares <mj@ucw.cz>
Mon, 10 Aug 2009 10:06:43 +0000 (12:06 +0200)
committerMartin Mares <mj@ucw.cz>
Mon, 10 Aug 2009 10:06:43 +0000 (12:06 +0200)
t/moe/batch.py
t/moe/eval.py
t/moe/meta.py [deleted file]
t/moe/status.py [new file with mode: 0644]
t/test.py

index edb9eef55870295d666558df7a6b304e8b3c3790..e4e23944b34ff51b22892bc61437492071b35970 100644 (file)
@@ -58,7 +58,7 @@ def locate(e, filename=None):
     e.builtins.set("EXT", norm_ext)
     e.cfgs.apply_overrides("EXT_" + norm_ext)
 
-    e.meta["source"] = file
+    e.stat["source"] = file
     e.log.progress(file + "\n")
 
 def compile(e):
index 3e313f34e47032aa4d07cb00ab3411b6c7137839..32981440ab80fb245acf7197c7f60d9c21fce0b1 100644 (file)
@@ -3,7 +3,7 @@
 import moe
 import moe.config
 import moe.log
-import moe.meta
+import moe.stat
 import moe.pipeline
 import moe.batch
 import moe.util
@@ -18,7 +18,7 @@ class Eval:
        self.builtins = moe.config.MoeConfig(type="builtins")
        self.cfgs.push(self.builtins)
        self.main_pipe = moe.pipeline.MoePipeline("main")
-       self.meta = moe.meta.MoeMeta()
+       self.stat = moe.stat.MoeStatus()
        pass
 
     def init(self, overrides=None):
@@ -63,7 +63,7 @@ class Eval:
        self.cfgs.push(task_cfg)
        self.log_config(3, "after loading the task")
 
-       self.meta["task"] = task
+       self.stat["task"] = task
 
        type = self.cfgs['TASK_TYPE']
        if type == "batch" or type == "interactive":
diff --git a/t/moe/meta.py b/t/moe/meta.py
deleted file mode 100644 (file)
index 231b8df..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-import types
-import re
-
-key_pattern = re.compile("^[A-Za-z0-9_-]+$")
-
-class MoeMetaInvalid(Exception):
-    pass
-
-class MoeMeta:
-    """Moe meta-file."""
-
-    def __init__(self):
-        self.meta = {}
-
-    def __getitem__(self, k):
-       if not self.meta.has_key(k): return None
-        v = self.meta[k]
-       if type(v) == types.ListType:
-           if len(v) > 0: return v[0]
-           else: return None
-       else: return v
-
-    def __setitem__(self, k, v):
-       self.meta[k] = v
-
-    def get_list(self, k):
-       m = self.meta
-       if not m.has_key(k):
-           m[k] = []
-       elif type(m[k]) != types.ListType:
-           m[k] = [m[k]]
-       return m[k]
-
-    def write(self, file=None, name=None):
-       if file is None:
-           if name is not None:
-               file = open(name, "w")
-           else:
-               file = sys.stdout
-       self.write_nested(file, 0)
-
-    def write_nested(self, file, indent):
-        for k,v in self.meta.items():
-           if type(v) == types.ListType: vals = v
-           else: vals = [v]
-           for w in vals:
-               if isinstance(w, MoeMeta):
-                   file.write("\t" * indent + k + "(\n")
-                   w.write_nested(file, indent+1);
-                   file.write("\t" * indent + ")\n")
-               else:
-                   file.write("\t" * indent + k + ":" + str(w) + "\n")
-
-    def read(self, file=None, name=None):
-       if file is None:
-           if name is not None:
-               file = open(name, "r")
-           else:
-               file = sys.stdin
-       self.meta = {}
-       self.do_read(file)
-
-    def read_val(self, k, v):
-       if not key_pattern.match(k):
-           raise MoeMetaInvalid, "Parse error: invalid key syntax"
-       m = self.meta
-       if not m.has_key(k):
-           m[k] = v
-       else:
-           self.get_list(k).append(v)
-
-    def do_read(self, file):
-       stk = []
-       this = self
-       for x in file.readlines():
-           x = x.rstrip("\n").lstrip(" \t")
-           if x=="" or x.startswith("#"):
-               pass
-           else:
-               sep = x.find(":")
-               if sep >= 0:
-                   k = x[:sep]
-                   v = x[sep+1:]
-                   this.read_val(k, v)
-               elif x.endswith("("):
-                   k = x[:-1]
-                   new = MoeMeta()
-                   this.read_val(k, new)
-                   stk.append(this)
-                   this = new
-               elif x == ")":
-                   if len(stk) == 0:
-                       raise MoeMetaInvalid, "Parse error: incorrect nesting"
-                   else:
-                       this = stk.pop()
-               else:
-                   raise MoeMetaInvalid, "Parse error: malformed line"
diff --git a/t/moe/status.py b/t/moe/status.py
new file mode 100644 (file)
index 0000000..936659e
--- /dev/null
@@ -0,0 +1,100 @@
+#!/usr/bin/env python
+
+import sys
+import types
+import re
+
+key_pattern = re.compile("^[A-Za-z0-9_-]+$")
+
+class MoeStatusInvalid(Exception):
+    pass
+
+class MoeStatus:
+    """Moe status file."""
+
+    def __init__(self):
+        self.stat = {}
+
+    def __getitem__(self, k):
+       if not self.stat.has_key(k): return None
+        v = self.stat[k]
+       if type(v) == types.ListType:
+           if len(v) > 0: return v[0]
+           else: return None
+       else: return v
+
+    def __setitem__(self, k, v):
+       self.stat[k] = v
+
+    def get_list(self, k):
+       m = self.stat
+       if not m.has_key(k):
+           m[k] = []
+       elif type(m[k]) != types.ListType:
+           m[k] = [m[k]]
+       return m[k]
+
+    def write(self, file=None, name=None):
+       if file is None:
+           if name is not None:
+               file = open(name, "w")
+           else:
+               file = sys.stdout
+       self.write_nested(file, 0)
+
+    def write_nested(self, file, indent):
+        for k,v in self.stat.items():
+           if type(v) == types.ListType: vals = v
+           else: vals = [v]
+           for w in vals:
+               if isinstance(w, MoeStatus):
+                   file.write("\t" * indent + k + "(\n")
+                   w.write_nested(file, indent+1);
+                   file.write("\t" * indent + ")\n")
+               else:
+                   file.write("\t" * indent + k + ":" + str(w) + "\n")
+
+    def read(self, file=None, name=None):
+       if file is None:
+           if name is not None:
+               file = open(name, "r")
+           else:
+               file = sys.stdin
+       self.stat = {}
+       self.do_read(file)
+
+    def read_val(self, k, v):
+       if not key_pattern.match(k):
+           raise MoeStatusInvalid, "Parse error: invalid key syntax"
+       m = self.stat
+       if not m.has_key(k):
+           m[k] = v
+       else:
+           self.get_list(k).append(v)
+
+    def do_read(self, file):
+       stk = []
+       this = self
+       for x in file.readlines():
+           x = x.rstrip("\n").lstrip(" \t")
+           if x=="" or x.startswith("#"):
+               pass
+           else:
+               sep = x.find(":")
+               if sep >= 0:
+                   k = x[:sep]
+                   v = x[sep+1:]
+                   this.read_val(k, v)
+               elif x.endswith("("):
+                   k = x[:-1]
+                   new = MoeStatus()
+                   this.read_val(k, new)
+                   stk.append(this)
+                   this = new
+               elif x == ")":
+                   if len(stk) == 0:
+                       raise MoeStatusInvalid, "Parse error: incorrect nesting"
+                   else:
+                       this = stk.pop()
+               else:
+                   raise MoeStatusInvalid, "Parse error: malformed line"
index b50fed112b18ef7d3e10e143105fae4bec14b2c7..167be9864c583bc2ec0a19390c7821b1f8ae3db5 100755 (executable)
--- a/t/test.py
+++ b/t/test.py
@@ -4,7 +4,7 @@ import sys
 sys.path.append('.')
 
 import moe
-import moe.meta
+import moe.stat
 import moe.config
 import moe.eval
 import moe.pipeline
@@ -34,9 +34,9 @@ except moe.MoeErr, err:
     e.log.shout("FATAL: %s\n" % err)
     sys.exit(1)
 except moe.SolutionErr, err:
-    ## FIXME: In this case, we might write the meta file
+    ## FIXME: In this case, we might write the status file
     e.log.shout("%s\n" % err)
     sys.exit(1)
 
-print "\nFinal meta file:"
-e.meta.write()
+print "\nFinal status file:"
+e.stat.write()