From: Ross Jones Date: Thu, 25 Oct 2012 15:37:53 +0000 Subject: Human readable times X-Git-Url: https://maxious.lambdacomplex.org/git/?p=ckanext-ga-report.git&a=commitdiff&h=882c0822404ab7f9ffe0d4a3e45babbb35c40bad --- Human readable times --- --- a/ckanext/ga_report/controller.py +++ b/ckanext/ga_report/controller.py @@ -34,7 +34,6 @@ filter(GA_Stat.period_name==month).\ order_by('GA_Stat.stat_name, GA_Stat.key').all() - response.headers['Content-disposition'] = 'attachment; filename=dgu_analytics_%s.csv' % (month) response.headers['Content-Type'] = "text/csv; charset=utf-8" writer = csv.writer(response) @@ -60,7 +59,19 @@ filter(GA_Stat.stat_name=='Totals').\ filter(GA_Stat.period_name==c.month).\ order_by('ga_stat.key').all() - c.global_totals = [(s.key, s.value) for s in entries ] + + c.global_totals = [] + for e in entries: + val = e.value + if e.key in ['Average time on site', 'Pages per visit', 'Percent new visits']: + val = "%.2f" % round(float(e.value), 2) + if e.key == 'Average time on site': + mins, secs = divmod(float(val), 60) + hours, mins = divmod(mins, 60) + val = '%02d:%02d:%02d (%s seconds) ' % (hours, mins, secs, val) + e.key = '%s *' % e.key + c.global_totals.append((e.key, val)) + keys = { 'Browser versions': 'browsers', @@ -88,6 +99,7 @@ """ def index(self): + # Get the month details by fetching distinct values and determining the # month names from the values. c.months = _month_details(GA_Url) @@ -101,10 +113,13 @@ select department_id, sum(pageviews::int) views, sum(visitors::int) visits from ga_url where department_id <> '' - and not url like '/publisher/%%' and period_name=%s group by department_id order by views desc limit 20; """ + # Add this back (before and period_name =%s) if you want to ignore publisher + # homepage views + # and not url like '/publisher/%%' + c.top_publishers = [] res = connection.execute(q, c.month) for row in res: --- a/ckanext/ga_report/plugin.py +++ b/ckanext/ga_report/plugin.py @@ -18,7 +18,7 @@ def after_map(self, map): map.connect( - '/data/analytics/publisher/', + '/data/analytics/publisher', controller='ckanext.ga_report.controller:GaPublisherReport', action='index' ) @@ -33,7 +33,7 @@ action='index' ) map.connect( - '/data/analytics_{month}.csv', + '/data/analytics/data_{month}.csv', controller='ckanext.ga_report.controller:GaReport', action='csv' ) --- a/ckanext/ga_report/templates/ga_report/publisher/index.html +++ b/ckanext/ga_report/templates/ga_report/publisher/index.html @@ -8,6 +8,7 @@
  • Publishers

    +

    The table shows the top 20 publishers as recorded by page views of datasets owned by that publisher, and the number of visits to each publisher's home page.

  • --- a/ckanext/ga_report/templates/ga_report/publisher/read.html +++ b/ckanext/ga_report/templates/ga_report/publisher/read.html @@ -16,7 +16,7 @@ number of visitors that viewed each dataset.

    The dataset list page for ${c.publisher.title} was viewed ${c.publisher_page_views} times during ${c.month_desc}

    -

    Go back to publishers

    +

    View the publishers leaderboard

    --- a/ckanext/ga_report/templates/ga_report/site/index.html +++ b/ckanext/ga_report/templates/ga_report/site/index.html @@ -50,6 +50,8 @@ + +

    * Values are rounded up to 2 decimal places.