]> mj.ucw.cz Git - moe.git/blobdiff - t/moe/status.py
Updates in status and pipeline debugging
[moe.git] / t / moe / status.py
index 936659e6408a907650d8aea60887e6ec5ded5370..320d7c9308d566d5082c0217462f05fd9a6fdbd8 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 dump(self, prefix=""):
+       "Return a list of lines, `prefix` 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(prefix + k + "(\n")
+                   l.extend(self.str_lines(prefix+"  "))
+                   l.append(prefix + ")\n")
+               else:
+                   l.append(prefix + k + ":" + str(w) + "\n")
+       return l
+       
     def write(self, file=None, name=None):
        if file is None:
            if name is not None: