Move code from display.py into machine_kernel.cgi
git-svn-id: http://test.kernel.org/svn/autotest/trunk@677 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/display.py b/tko/display.py
index 6502a4d..e898849 100755
--- a/tko/display.py
+++ b/tko/display.py
@@ -1,8 +1,4 @@
-import os, re, parse, sys, db, frontend
-sys.path.insert(0, '/home/mbligh/autotest/client/bin')
-import kernel_versions
-
-db = db.db() # db.db(debug=True)
+import os, re, parse, sys, frontend
color_map = {
'GOOD' : '#66ff66', # green
@@ -62,46 +58,6 @@
print '</table>'
-def kernel_machine_box(kernel, machine):
- status = None
- status_word = ''
- tests = frontend.test.select(db, { 'kernel_idx' : kernel.idx ,
- 'machine' : machine })
- for t in tests:
- if not status or t.status_num < status:
- status = t.status_num
- status_word = db.status_word[status]
-
- link = 'machine_kernel_test.cgi?machine=%s&kernel=%s' % \
- (machine, kernel.idx)
- if status_word:
- html = '<a href="%s">%s</a>' % (link, status_word)
- else:
- html = None
- return box(html, color_key = status_word)
-
-
-def kernel_encode(kernel):
- return kernel_versions.version_encode(kernel.printable)
-
-
-def print_machines_vs_all_kernels(machines):
- header_row = [ box(x, header=True) for x in ['Version'] + machines ]
-
- kernels = frontend.kernel.select(db)
- kernels.sort(key = kernel_encode, reverse = True)
-
- matrix = [header_row]
- for kernel in kernels:
- row = [box(kernel.printable)]
- for machine in machines:
- row.append(kernel_machine_box(kernel, machine))
- matrix.append(row)
- matrix.append(header_row)
-
- print_table(matrix)
-
-
def sort_tests(tests):
kernel_order = ['patch', 'config', 'build', 'mkinitrd', 'install']
diff --git a/tko/machine_kernel.cgi b/tko/machine_kernel.cgi
new file mode 100755
index 0000000..a9111be
--- /dev/null
+++ b/tko/machine_kernel.cgi
@@ -0,0 +1,62 @@
+#!/usr/bin/python
+
+import cgi, cgitb, os, sys
+cgitb.enable()
+
+tko = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0])))
+sys.path.insert(0, tko)
+import db, frontend, display
+client_bin = os.path.abspath(os.path.join(tko, '../client/bin'))
+sys.path.insert(0, client_bin)
+import kernel_versions
+
+db = db.db()
+
+
+def main():
+ print "Content-type: text/html\n"
+ print_machines_vs_all_kernels(['cagg2', 'cagg4', 'cagg6', 'elm3b163'])
+
+
+def kernel_machine_box(kernel, machine):
+ status = None
+ status_word = ''
+ tests = frontend.test.select(db, { 'kernel_idx' : kernel.idx ,
+ 'machine' : machine })
+ for t in tests:
+ if not status or t.status_num < status:
+ status = t.status_num
+ status_word = db.status_word[status]
+
+ link = 'machine_kernel_test.cgi?machine=%s&kernel=%s' % \
+ (machine, kernel.idx)
+ if status_word:
+ html = '<a href="%s">%s</a>' % (link, status_word)
+ else:
+ html = None
+ return display.box(html, color_key = status_word)
+
+
+def kernel_encode(kernel):
+ return kernel_versions.version_encode(kernel.printable)
+
+
+def print_machines_vs_all_kernels(machines):
+ headers = ['Version'] + machines
+ header_row = [ display.box(x, header=True) for x in headers ]
+
+ kernels = frontend.kernel.select(db)
+ kernels.sort(key = kernel_encode, reverse = True)
+
+ matrix = [header_row]
+ for kernel in kernels:
+ row = [display.box(kernel.printable)]
+ for machine in machines:
+ row.append(kernel_machine_box(kernel, machine))
+ matrix.append(row)
+ matrix.append(header_row)
+
+ display.print_table(matrix)
+
+
+main()