OLD | NEW |
(Empty) | |
| 1 {% extends "layout.html" %} |
| 2 |
| 3 {% macro DisplayGraph(name, layout, width, height, color, data_variable, options
) %} |
| 4 <div><canvas id="canvas{{ name }}" height="{{ height }}" width="{{ width }}"><
/canvas></div> |
| 5 <script> |
| 6 var options{{ name }} = { |
| 7 "colorScheme": PlotKit.Base.palette(PlotKit.Base.baseColors()[{{ color }}]
), |
| 8 {% for k, v in options.iteritems() %}"{{ k }}": {{ v }}, |
| 9 {% endfor %} |
| 10 }; |
| 11 |
| 12 function draw{{ name }}() { |
| 13 var layout = new PlotKit.Layout("{{ layout }}", options{{ name }}); |
| 14 layout.addDataset("data", {{ data_variable }}); |
| 15 layout.evaluate(); |
| 16 var canvas = MochiKit.DOM.getElement("canvas{{ name }}"); |
| 17 var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout, options{{ na
me }}); |
| 18 plotter.render(); |
| 19 } |
| 20 |
| 21 MochiKit.DOM.addLoadEvent(draw{{ name }}); |
| 22 </script> |
| 23 {% endmacro %} |
| 24 |
| 25 {% block header -%} |
| 26 {{ super() }} |
| 27 <script type="text/javascript" src="/mochikit/MochiKit.js"></script> |
| 28 <script type="text/javascript" src="/plotkit/Base.js"></script> |
| 29 <script type="text/javascript" src="/plotkit/Layout.js"></script> |
| 30 <script type="text/javascript" src="/plotkit/Canvas.js"></script> |
| 31 <script type="text/javascript" src="/plotkit/SweetCanvas.js"></script> |
| 32 {% endblock header %} |
| 33 |
| 34 {% block content %} |
| 35 <script> |
| 36 var averageTime = [ |
| 37 {% for val in builderTimes %}[{{ loop.index0 }}, {{ val }}]{% if not loop.la
st %}, |
| 38 {% endif %}{% endfor %}]; |
| 39 |
| 40 var ratioFailures = [ |
| 41 {% for val in builderFailures %}[{{ loop.index0 }}, {{ val*100.0 }}]{% if no
t loop.last %}, |
| 42 {% endif %}{% endfor %}]; |
| 43 |
| 44 var nameMapping = [ |
| 45 {% for val in builderNames %}{v:{{ loop.index0 }}, label:A({href:"./stats/{{
val|quote }}", text:"aaa"}, "{{ val }}")}{% if not loop.last %}, |
| 46 {% endif %}{% endfor %}]; |
| 47 </script> |
| 48 <center> |
| 49 <table> |
| 50 <tr> |
| 51 <td width=200></td> |
| 52 <td width=500><h2> Average time to cycle </h2></td> |
| 53 <td width=500><h2> Percentage of failures </h2></td> |
| 54 </tr> |
| 55 </table> |
| 56 <table> |
| 57 <tr> |
| 58 <td>{{ DisplayGraph("averageTimeBar", "bar", 700, (builderNames|length)*15
, 0, "averageTime", {"xTicks": "nameMapping", "barOrientation": "'horizontal'",
"padding": "{left: 200, right:5, top: 5, bottom: 10}"}) }}</td> |
| 59 <td>{{ DisplayGraph("ratioFailuresBar", "bar", 500, (builderNames|length)*
15, 1, "ratioFailures", {"yAxis": "[0.00, 100.00]", "yTicks": "[{v:0, label:'0'}
,{v:10, label:'10'},{v:20, label:'20'}, {v:30, label:'30'},{v:40, label:'40'},{v
:50, label:'50'}, {v:60, label:'60'},{v:70, label:'70'},{v:80, label:'80'}, {v:9
0, label:'90'},{v:100, label:'100'}]", "drawYAxis": "false", "barOrientation": "
'horizontal'", "padding": "{left: 2, right: 20, top: 5, bottom: 10}"}) }}</td> |
| 60 </tr> |
| 61 </table> |
| 62 </center> |
| 63 {% endblock content %} |
OLD | NEW |