genhtml: Nicer other views
authorMichal Sojka <sojkam1@fel.cvut.cz>
Fri, 10 Dec 2010 15:31:44 +0000 (16:31 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Fri, 10 Dec 2010 15:31:44 +0000 (16:31 +0100)
gw-tests/genhtml/genhtml.py

index a6cab8f..fc7620b 100755 (executable)
@@ -9,10 +9,8 @@ import traceback
 class DimValue(object):
     def __new__(cls, dim, value):
         if value in dim:
-            print "OLD", value
             return dim[value]
         else:
-            print "NEW", value
             return super(DimValue, cls).__new__(cls, dim, value)
     def __init__(self, dim, value):
        self.dim = dim
@@ -172,16 +170,16 @@ class Test(object):
             links = []
             for v in d:
                 if v in self.values:
-                    links.append(str(v))
+                    links.append("<span class='value current'>%s</span>"%str(v))
                 else:
                     vv = DimValues(self.values)
                     vv.replace(v)
                     try:
                         href = cdup + urllib.quote(self.tests[vv.key()].path+"/results.html")
-                        links.append("<a href='%s'>%s</a>"%(href, str(v)))
+                        links.append("<span class='value other'><a href='%s'>%s</a></span>"%(href, str(v)))
                     except KeyError:
-                        pass
-            print >>html, "<tr><th>%s</th><td>" % d, " ".join(links), "</td></tr>"
+                        links.append("<span class='value missing'>%s</span>"%str(v))
+            print >>html, "<tr><th>%s</th><td>" % d, " ".join(links), "</td></tr>"
 
         print >>html, "</table></div>"
         print >>html, "<div><img src='%s' /></div>" % (self.name+".png")
@@ -278,8 +276,12 @@ class Tests(dict):
 table { border-collapse: collapse; }
 th, td { border: 1px solid lightgray; padding: 4px;}
 h4 { margin: 0; }
-.box { border: 1px solid black; padding: 1ex; margin: 1ex 0}
 .otherview { margin: 1ex 0}
+.otherview .value { color: black; padding: 0ex 1ex; -moz-border-radius: 1ex; border-radius: 1ex;}
+.otherview .value a { color: inherit; text-decoration: none; }
+.otherview .other:hover { background: #eee; }
+.otherview .missing { color: gray; }
+.otherview .current { background: #ccc; }
 """
         css.close()
         for test in self.values():
@@ -323,12 +325,12 @@ class Page(object):
             print >>html, "<td>"
             for v in d:
                 if v in self.valsOther:
-                    links.append(str(v))
+                    links.append("<span class='value current'>%s</span>"%str(v))
                 else:
                     vv = DimValues(self.valsOther)
                     vv.replace(v)
-                    links.append("<a href='%s'>%s</a>"%(urllib.quote(Page((self.dimy, self.dimx), vv, self.tests).getName()), str(v)))
-            print >>html, " ".join(links)
+                    links.append("<span class='value other'><a href='%s'>%s</a></span>"%(urllib.quote(Page((self.dimy, self.dimx), vv, self.tests).getName()), str(v)))
+            print >>html, " ".join(links)
             print >>html, "</td></tr>"
         print >>html, "</table></div>"