Commit 965f6d73 authored by Vincent Pelletier's avatar Vincent Pelletier

Use more specific CSS selectors.

parent 90e515fa
...@@ -186,7 +186,7 @@ class GenericSiteStats(object): ...@@ -186,7 +186,7 @@ class GenericSiteStats(object):
filtered_date_dict[stat_filter(date)] += value filtered_date_dict[stat_filter(date)] += value
column_set.update(filtered_date_dict) column_set.update(filtered_date_dict)
column_list = sorted(column_set) column_list = sorted(column_set)
append('<h2>Hit per status code</h2><table><tr><th>status</th>' append('<h2>Hit per status code</h2><table class="stats"><tr><th>status</th>'
'<th>overall</th>') '<th>overall</th>')
for date in column_list: for date in column_list:
append('<th>%s</th>' % date) append('<th>%s</th>' % date)
...@@ -209,7 +209,7 @@ class GenericSiteStats(object): ...@@ -209,7 +209,7 @@ class GenericSiteStats(object):
filtered_status_url[status] = sorted( filtered_status_url[status] = sorted(
((key, Counter(value)) for key, value in url_dict.iteritems()), ((key, Counter(value)) for key, value in url_dict.iteritems()),
key=lambda x: getHitForUrl(x[1]), reverse=True)[:N_ERROR_URL] key=lambda x: getHitForUrl(x[1]), reverse=True)[:N_ERROR_URL]
append('<h3>Error detail</h3><table><tr><th>status</th><th>hit</th>' append('<h3>Error detail</h3><table class="stats"><tr><th>status</th><th>hit</th>'
'<th>url</th><th>referers</th></tr>') '<th>url</th><th>referers</th></tr>')
for status, url_list in sorted(filtered_status_url.iteritems(), for status, url_list in sorted(filtered_status_url.iteritems(),
key=ITEMGETTER0): key=ITEMGETTER0):
...@@ -230,7 +230,7 @@ class GenericSiteStats(object): ...@@ -230,7 +230,7 @@ class GenericSiteStats(object):
)) ))
append('</tr>') append('</tr>')
append('</table>') append('</table>')
append('<h2>Slowest pages</h2><table><tr><th>duration (s)</th>' append('<h2>Slowest pages</h2><table class="stats"><tr><th>duration (s)</th>'
'<th>date</th><th>url</th><th>referer</th></tr>') '<th>date</th><th>url</th><th>referer</th></tr>')
for duration, timestamp, url, referer in reversed(self.slowest_list): for duration, timestamp, url, referer in reversed(self.slowest_list):
if timestamp is None: if timestamp is None:
...@@ -280,7 +280,7 @@ class ERP5SiteStats(GenericSiteStats): ...@@ -280,7 +280,7 @@ class ERP5SiteStats(GenericSiteStats):
def asHTML(self, stat_filter=lambda x: x): def asHTML(self, stat_filter=lambda x: x):
result = [] result = []
append = result.append append = result.append
append('<h2>Per module</h2><table><tr><th rowspan="2" colspan="2">' append('<h2>Per module</h2><table class="stats"><tr><th rowspan="2" colspan="2">'
'module</th><th colspan="4">overall</th>') 'module</th><th colspan="4">overall</th>')
filtered_module = defaultdict(partial(defaultdict, partial( filtered_module = defaultdict(partial(defaultdict, partial(
defaultdict, partial(APDEXStats, self.threshold)))) defaultdict, partial(APDEXStats, self.threshold))))
...@@ -516,13 +516,15 @@ def main(): ...@@ -516,13 +516,15 @@ def main():
os.chdir(args.out) os.chdir(args.out)
with open('index.html', 'w') as out: with open('index.html', 'w') as out:
out.write('<html><head><title>Stats</title><style>' out.write('<html><head><title>Stats</title><style>'
'th, td { border: solid 1px #000; } th { text-align: center; } ' '.stats th, .stats td { border: solid 1px #000; } '
'td { text-align: right; } th.text, td.text { text-align: left; } ' '.stats th { text-align: center; } '
'table { border-collapse: collapse; } ' '.stats td { text-align: right; } '
'.stats th.text, .stats td.text { text-align: left; } '
'table.stats { border-collapse: collapse; } '
'.problem { background-color: #f00; color: white; } ' '.problem { background-color: #f00; color: white; } '
'.warning { background-color: #f80; color: white; }' '.warning { background-color: #f80; color: white; }'
'</style></head><body><h1>Overall</h1>' '</style></head><body><h1>Overall</h1>'
'<h2>Hits per day</h2><table><tr><th>date</th><th>hits</th></tr>') '<h2>Hits per day</h2><table class="stats"><tr><th>date</th><th>hits</th></tr>')
for date, hit in sorted(hit_per_day.iteritems(), key=ITEMGETTER0): for date, hit in sorted(hit_per_day.iteritems(), key=ITEMGETTER0):
out.write('<tr><td>%s</td><td>%s</td></tr>' % (date, hit)) out.write('<tr><td>%s</td><td>%s</td></tr>' % (date, hit))
out.write('</table>') out.write('</table>')
...@@ -573,7 +575,7 @@ def main(): ...@@ -573,7 +575,7 @@ def main():
out.write(data.asHTML(decimator)) out.write(data.asHTML(decimator))
end_stat_time = time.time() end_stat_time = time.time()
if args.stats: if args.stats:
out.write('<h1>Parsing stats</h1><table>') out.write('<h1>Parsing stats</h1><table class="stats">')
for caption, value in ( for caption, value in (
('Execution date', datetime.now().isoformat()), ('Execution date', datetime.now().isoformat()),
('File count', file_count), ('File count', file_count),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment