]> mj.ucw.cz Git - eval.git/blobdiff - t/moe/status.py
Fixed pipeline.insert args order
[eval.git] / t / moe / status.py
index 936659e6408a907650d8aea60887e6ec5ded5370..518fb1bc5dcb2089f3496c920c354bd707e69221 100644 (file)
@@ -26,6 +26,9 @@ class MoeStatus:
     def __setitem__(self, k, v):
        self.stat[k] = v
 
+    def keys(self):
+       return self.stat.keys()
+
     def get_list(self, k):
        m = self.stat
        if not m.has_key(k):
@@ -34,6 +37,21 @@ class MoeStatus:
            m[k] = [m[k]]
        return m[k]
 
+    def str_lines(self, indent=""):
+       "Return a list of lines, `indent` is indent prefix."
+       l = []
+        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):
+                   l.append("\t" * indent + k + "(\n")
+                   l.extend(self.str_lines(indent+"  "))
+                   l.append("\t" * indent + ")\n")
+               else:
+                   l.append("\t" * indent + k + ":" + str(w) + "\n")
+       return l
+       
     def write(self, file=None, name=None):
        if file is None:
            if name is not None: