Significantly simplify machine_kernel.cgi by using groups properly
Signed-off-by: Martin J. Bligh <mbligh@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@765 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/machine_kernel.cgi b/tko/machine_kernel.cgi
index 2cb58b3..83bc3f0 100755
--- a/tko/machine_kernel.cgi
+++ b/tko/machine_kernel.cgi
@@ -13,23 +13,11 @@
db = db.db()
-def main():
- display.print_main_header()
+def kernel_group_box(kernel, group):
+ tests = group.tests({ 'kernel_idx':kernel.idx })
- machines = frontend.machine.select(db)
- print_machines_vs_all_kernels(machines)
-
-
-def kernel_machines_box(kernel, machines):
- status = None
- status_word = ''
- tests = []
- for machine in machines:
- where = { 'kernel_idx':kernel.idx , 'machine_idx':machine.idx }
- tests += frontend.test.select(db, where)
-
- machine_idxs = ['%d' % machine.idx for machine in machines]
+ machine_idxs = ['%d' % machine.idx for machine in group.machines()]
link = 'machine_kernel_test.cgi?machine=%s&kernel=%s' % \
(','.join(machine_idxs), kernel.idx)
return display.status_count_box(db, tests, link)
@@ -39,20 +27,12 @@
return kernel_versions.version_encode(kernel.printable)
-def print_machines_vs_all_kernels(machines):
- groups = {}
- for machine in machines:
- if machine.group:
- groupname = machine.group
- else:
- groupname = machine.hostname
- if groups.has_key(groupname):
- groups[groupname].append(machine)
- else:
- groups[groupname] = [machine]
- group_list = sorted(groups.keys())
+def main():
+ display.print_main_header()
- headers = ['Version'] + group_list
+ groups = frontend.group.select(db)
+
+ headers = ['Version'] + [g.name for g in groups]
header_row = [ display.box(x, header=True) for x in headers ]
kernels = frontend.kernel.select(db)
@@ -61,9 +41,8 @@
matrix = [header_row]
for kernel in kernels:
row = [display.box(kernel.printable)]
- for group in group_list:
- machines = groups[group]
- row.append(kernel_machines_box(kernel, machines))
+ for group in groups:
+ row.append(kernel_group_box(kernel, group))
matrix.append(row)
matrix.append(header_row)