From: Ross Jones
Date: Thu, 25 Oct 2012 14:52:26 +0000
Subject: Change the rules for top datasets
X-Git-Url: https://maxious.lambdacomplex.org/git/?p=ckanext-ga-report.git&a=commitdiff&h=63e0fea8902deac8c94761974bf16c809d6d8efd
---
Change the rules for top datasets
---
--- 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)
@@ -58,7 +57,8 @@
entries = model.Session.query(GA_Stat).\
filter(GA_Stat.stat_name=='Totals').\
- filter(GA_Stat.period_name==c.month).all()
+ filter(GA_Stat.period_name==c.month).\
+ order_by('ga_stat.key').all()
c.global_totals = [(s.key, s.value) for s in entries ]
keys = {
@@ -87,6 +87,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)
@@ -94,13 +95,12 @@
# Work out which month to show, based on query params of the first item
c.month = request.params.get('month', c.months[0][0] if c.months else '')
c.month_desc = ''.join([m[1] for m in c.months if m[0]==c.month])
-
+# and not url like '/publisher/%%'
connection = model.Session.connection()
q = """
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;
"""
--- a/ckanext/ga_report/plugin.py
+++ b/ckanext/ga_report/plugin.py
@@ -18,17 +18,7 @@
def after_map(self, map):
map.connect(
- '/data/analytics',
- controller='ckanext.ga_report.controller:GaReport',
- action='index'
- )
- map.connect(
- '/data/analytics_{month}.csv',
- controller='ckanext.ga_report.controller:GaReport',
- action='csv'
- )
- map.connect(
- '/data/analytics/publisher/',
+ '/data/analytics/publisher',
controller='ckanext.ga_report.controller:GaPublisherReport',
action='index'
)
@@ -37,6 +27,16 @@
controller='ckanext.ga_report.controller:GaPublisherReport',
action='read'
)
+ map.connect(
+ '/data/analytics',
+ controller='ckanext.ga_report.controller:GaReport',
+ action='index'
+ )
+ map.connect(
+ '/data/analytics/data_{month}.csv',
+ controller='ckanext.ga_report.controller:GaReport',
+ action='csv'
+ )
return map
--- 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
@@ -15,9 +15,8 @@
As well as showing the number of views within ${c.month_desc}, it will also show the
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}
-
+ View the publishers leaderboard