This moves the irregular entries (like the tabs) to the mako template and out of the summary module.
Signed-off-by: Dylan Baker <[email protected]> --- framework/summary.py | 32 ++++++++------------------------ templates/index.mako | 31 +++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/framework/summary.py b/framework/summary.py index 8494d31..25ee320 100644 --- a/framework/summary.py +++ b/framework/summary.py @@ -112,26 +112,6 @@ class HTMLIndex(list): # written. currentDir = [] - # Add a new 'tab' for each result - self._newRow() - self.append({'type': 'other', 'text': '<td />'}) - for each in summary.results: - self.append({'type': 'other', - 'text': '<td class="head"><b>%(name)s</b><br />' - '(<a href="%(href)s">info</a>)' - '</td>' % {'name': each.name, - 'href': path.join(each.name, - "index.html")}}) - self._endRow() - - # Add the toplevel 'all' group - self._newRow() - self._groupRow("head", 0, 'all') - for each in summary.results: - self._groupResult(summary.fractions[each.name]['all'], - summary.status[each.name]['all']) - self._endRow() - # Add the groups and tests to the out list for key in sorted(page): @@ -496,10 +476,12 @@ class Summary: # alltests, where the other pages all use the same name. ie, # changes.html, self.changes, and page=changes. file = open(path.join(destination, "index.html"), 'w') - file.write(makoindex.render(results=HTMLIndex(self, self.tests['all']), + file.write(makoindex.render(old_results=HTMLIndex(self, self.tests['all']), + fractions=self.fractions, + status=self.status, + results=self.results, page='all', pages=pages, - colnum=len(self.results), exclude=exclude)) file.close() @@ -509,10 +491,12 @@ class Summary: # If there is information to display display it if self.tests[page]: file.write(makoindex.render( - results=HTMLIndex(self, self.tests[page]), + old_results=HTMLIndex(self, self.tests[page]), + fractions=self.fractions, + status=self.status, + results=self.results, pages=pages, page=page, - colnum=len(self.results), exclude=exclude)) # otherwise provide an empty page else: diff --git a/templates/index.mako b/templates/index.mako index 5833718..429d184 100644 --- a/templates/index.mako +++ b/templates/index.mako @@ -1,3 +1,7 @@ +<% + from os import path +%> + <%namespace name="functions" file="functions.mako" /> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" @@ -32,11 +36,34 @@ ## Status columns ## Create an additional column for each summary - % for _ in xrange(colnum): + % for _ in xrange(len(results)): <col /> % endfor </colgroup> - % for line in results: + + ## Create a new 'tab' for each result + ${functions.new_row()} + <td /> + % for each in results: + <td class="head"><b>${each.name}</b><br /> + <a href="${path.join(each.name, 'index.html')}">info</a> + </td> + % endfor + ${functions.end_row()} + + ## Add the toplevel 'all' group + % for each in results: + ${functions.new_row()} + ${functions.group_row("head", 0, "all")} + ## FIXME: This can be changed to a group_result after the next loop is converted + <td class="${status[each.name]['all']}"> + <b>${fractions[each.name]['all'][0]}/${fractions[each.name]['all'][1]}</b> + </td> + ${functions.end_row()} + % endfor + + ## Generate the body of the index + % for line in old_results: % if line['type'] == "newRow": ${functions.new_row()} % elif line['type'] == "endRow": -- 1.8.1.5 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
