'Create tables to put in the main table area of the page.
See the stub implementations below for ways to hook into this process
without completely overriding this method.'

def make_tables(self):

    self.tables = []
    for interval in ('month', 'day', 'hour'):
        columns = [dict(color=COLORS.UPVOTE_ORANGE, title=_(('uniques    by    %s' % interval)), shortname=_('uniques')), dict(color=COLORS.DOWNVOTE_BLUE, title=_(('pageviews    by    %s' % interval)), shortname=_('pageviews'))]
        data = self.get_data_for_interval(interval, columns)
        title = _(('traffic    by    %s' % interval))
        graph = TimeSeriesChart(('traffic-' + interval), title, interval, columns, data, self.traffic_last_modified, classes=['traffic-table'], make_period_link=self.make_period_link)
        self.tables.append(graph)
    try:
        self.dow_summary = self.get_dow_summary()
    except NotImplementedError:
        self.dow_summary = None
    else:
        uniques_total = collections.Counter()
        pageviews_total = collections.Counter()
        days_total = collections.Counter()
        for (date, (uniques, pageviews)) in self.dow_summary[1:]:
            dow = date.weekday()
            uniques_total[dow] += uniques
            pageviews_total[dow] += pageviews
            days_total[dow] += 1
        self.dow_summary = []
        for dow in xrange(7):
            day_count = days_total[dow]
            if day_count:
                avg_uniques = (uniques_total[dow] / day_count)
                avg_pageviews = (pageviews_total[dow] / day_count)
                self.dow_summary.append((dow, (avg_uniques, avg_pageviews)))
            else:
                self.dow_summary.append((dow, (0, 0)))
        mean_uniques = (sum((r[1][0] for r in self.dow_summary)) / 7.0)
        mean_pageviews = (sum((r[1][1] for r in self.dow_summary)) / 7.0)
        self.dow_means = (round(mean_uniques), round(mean_pageviews))
