From e327a1ff3579bcb2c378d7ef58b4f495fcdc2fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Mon, 15 Dec 2014 20:43:43 +0100 Subject: [PATCH] Add visitors in addition to visits --- iwla.py | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/iwla.py b/iwla.py index 5a20786..bfdf62a 100755 --- a/iwla.py +++ b/iwla.py @@ -50,6 +50,7 @@ from display import * # not_viewed_bandwidth # viewed_pages # viewed_hits +# nb_visits # nb_visitors # # month_stats : @@ -57,7 +58,7 @@ from display import * # not_viewed_bandwidth # viewed_pages # viewed_hits -# nb_visitors +# nb_visits # # days_stats : # day => @@ -65,6 +66,7 @@ from display import * # not_viewed_bandwidth # viewed_pages # viewed_hits +# nb_visits # nb_visitors # # visits : @@ -338,18 +340,18 @@ class IWLA(object): page = self.display.createPage(title, filename, conf.css_path) _, nb_month_days = monthrange(cur_time.tm_year, cur_time.tm_mon) - days = self.display.createBlock(DisplayHTMLBlockTableWithGraph, 'By day', ['Day', 'Visitors', 'Pages', 'Hits', 'Bandwidth', 'Not viewed Bandwidth'], None, nb_month_days, range(1,6)) - days.setColsCSSClass(['', 'iwla_visitor', 'iwla_page', 'iwla_hit', 'iwla_bandwidth', 'iwla_bandwidth']) + days = self.display.createBlock(DisplayHTMLBlockTableWithGraph, 'By day', ['Day', 'Visits', 'Pages', 'Hits', 'Bandwidth', 'Not viewed Bandwidth'], None, nb_month_days, range(1,6)) + days.setColsCSSClass(['', 'iwla_visit', 'iwla_page', 'iwla_hit', 'iwla_bandwidth', 'iwla_bandwidth']) nb_visits = 0 nb_days = 0 for i in range(1, nb_month_days+1): day = '%d
%s' % (i, time.strftime('%b', cur_time)) - full_day = '%d %s %d' % (i, time.strftime('%b', cur_time), cur_time.tm_year) + full_day = '%02d %s %d' % (i, time.strftime('%b', cur_time), cur_time.tm_year) if i in self.current_analysis['days_stats'].keys(): stats = self.current_analysis['days_stats'][i] - row = [full_day, stats['nb_visitors'], stats['viewed_pages'], stats['viewed_hits'], + row = [full_day, stats['nb_visits'], stats['viewed_pages'], stats['viewed_hits'], stats['viewed_bandwidth'], stats['not_viewed_bandwidth']] - nb_visits += stats['nb_visitors'] + nb_visits += stats['nb_visits'] nb_days += 1 else: row = [full_day, 0, 0, 0, 0, 0] @@ -391,10 +393,10 @@ class IWLA(object): cur_time = time.localtime() months_name = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] title = 'Summary %d' % (year) - cols = ['Month', 'Visitors', 'Pages', 'Hits', 'Bandwidth', 'Not viewed Bandwidth', 'Details'] - graph_cols=range(1,6) + cols = ['Month', 'Visitors', 'Visits', 'Pages', 'Hits', 'Bandwidth', 'Not viewed Bandwidth', 'Details'] + graph_cols=range(1,7) months = self.display.createBlock(DisplayHTMLBlockTableWithGraph, title, cols, None, 12, graph_cols) - months.setColsCSSClass(['', 'iwla_visitor', 'iwla_page', 'iwla_hit', 'iwla_bandwidth', 'iwla_bandwidth', '']) + months.setColsCSSClass(['', 'iwla_visitor', 'iwla_visit', 'iwla_page', 'iwla_hit', 'iwla_bandwidth', 'iwla_bandwidth', '']) total = [0] * len(cols) for i in range(1, 13): month = '%s
%d' % (months_name[i], year) @@ -402,15 +404,15 @@ class IWLA(object): if i in month_stats.keys(): stats = month_stats[i] link = 'Details' % (year, i) - row = [full_month, stats['nb_visitors'], stats['viewed_pages'], stats['viewed_hits'], + row = [full_month, stats['nb_visitors'], stats['nb_visits'], stats['viewed_pages'], stats['viewed_hits'], stats['viewed_bandwidth'], stats['not_viewed_bandwidth'], link] for j in graph_cols: total[j] += row[j] else: - row = [full_month, 0, 0, 0, 0, 0, ''] + row = [full_month, 0, 0, 0, 0, 0, 0, ''] months.appendRow(row) - months.setCellValue(i-1, 4, bytesToStr(row[4])) months.setCellValue(i-1, 5, bytesToStr(row[5])) + months.setCellValue(i-1, 6, bytesToStr(row[6])) months.appendShortTitle(month) if year == cur_time.tm_year and i == cur_time.tm_mon: css = months.getCellCSSClass(i-1, 0) @@ -419,8 +421,8 @@ class IWLA(object): months.setCellCSSClass(i-1, 0, css) total[0] = 'Total' - total[4] = bytesToStr(total[4]) total[5] = bytesToStr(total[5]) + total[6] = bytesToStr(total[6]) months.appendRow(total) page.appendBlock(months) @@ -431,7 +433,7 @@ class IWLA(object): page = self.display.createPage(title, filename, conf.css_path) - last_update = 'Last update %s
' % (time.strftime('%d %b %Y %H:%M', time.localtime())) + last_update = 'Last update %s
' % (time.strftime('%02d %b %Y %H:%M', time.localtime())) page.appendBlock(self.display.createBlock(DisplayHTMLRaw, last_update)) for year in self.meta_infos['stats'].keys(): @@ -451,7 +453,7 @@ class IWLA(object): stats['not_viewed_bandwidth'] = 0 stats['viewed_pages'] = 0 stats['viewed_hits'] = 0 - stats['nb_visitors'] = 0 + stats['nb_visits'] = 0 return stats @@ -464,7 +466,7 @@ class IWLA(object): for (day, stat) in self.current_analysis['days_stats'].items(): for k in stats.keys(): stats[k] += stat[k] - + duplicated_stats = {k:v for (k,v) in stats.items()} cur_time = self.meta_infos['last_time'] @@ -485,7 +487,7 @@ class IWLA(object): continue self.valid_visitors[k] = v - duplicated_stats['visitors'] = stats['visitors'] = len(self.valid_visitors.keys()) + duplicated_stats['nb_visitors'] = stats['nb_visitors'] = len(self.valid_visitors.keys()) self._callPlugins(conf.POST_HOOK_DIRECTORY) @@ -535,9 +537,9 @@ class IWLA(object): if (conf.count_hit_only_visitors or\ viewed_pages) and\ not super_hit['robot']: - stats['nb_visitors'] += 1 + stats['nb_visits'] += 1 - print "== Stats for %d/%02d/%d ==" % (cur_time.tm_year, cur_time.tm_mon, cur_time.tm_mday) + print "== Stats for %d/%02d/%02d ==" % (cur_time.tm_year, cur_time.tm_mon, cur_time.tm_mday) print stats