[llvm-commits] [zorg] r125884 - /zorg/trunk/llvmlab/llvmlab/ci/status.py

Daniel Dunbar daniel at zuster.org
Fri Feb 18 08:41:53 PST 2011


Author: ddunbar
Date: Fri Feb 18 10:41:53 2011
New Revision: 125884

URL: http://llvm.org/viewvc/llvm-project?rev=125884&view=rev
Log:
llvmlab: Sketch status object for tracking the overall build status.

Added:
    zorg/trunk/llvmlab/llvmlab/ci/status.py

Added: zorg/trunk/llvmlab/llvmlab/ci/status.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/llvmlab/llvmlab/ci/status.py?rev=125884&view=auto
==============================================================================
--- zorg/trunk/llvmlab/llvmlab/ci/status.py (added)
+++ zorg/trunk/llvmlab/llvmlab/ci/status.py Fri Feb 18 10:41:53 2011
@@ -0,0 +1,51 @@
+"""
+Status information for the CI infrastructure, for use by the dashboard.
+"""
+
+from llvmlab import util
+
+class BuildStatus(util.simple_repr_mixin):
+    @staticmethod
+    def fromdata(data):
+        version = data['version']
+        if version != 0:
+            raise ValueError, "Unknown version"
+
+        return BuildStatus(data['name'], data['number'], data['source_stamp'],
+                           data['result'], data['start_time'], data['end_time'])
+
+    def todata(self):
+        return { 'version' : 0,
+                 'name' : self.name,
+                 'number' : self.number,
+                 'source_stamp' : self.source_stamp,
+                 'result' : self.result,
+                 'start_time' : self.start_time,
+                 'end_time' : self.end_time }
+
+    def __init__(self, name, number, source_stamp,
+                 result, start_time, end_time):
+        self.name = name
+        self.number = number
+        self.source_stamp = source_stamp
+        self.result = result
+        self.start_time = start_time
+        self.end_time = end_time
+
+class Status(util.simple_repr_mixin):
+    @staticmethod
+    def fromdata(data):
+        version = data['version']
+        if version != 0:
+            raise ValueError, "Unknown version"
+
+        return Status([BuildStatus.fromdata(item)
+                       for item in data['builds']])
+
+    def todata(self):
+        return { 'version' : 0,
+                 'builds' : [item.todata()
+                             for item in self.builds] }
+
+    def __init__(self, builds):
+        self.builds = builds





More information about the llvm-commits mailing list