Debugging
--- a/ckanext/ga_report/controller.py
+++ b/ckanext/ga_report/controller.py
@@ -58,7 +58,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,28 +88,30 @@
"""
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)
+ try:
+ # Get the month details by fetching distinct values and determining the
+ # month names from the values.
+ c.months = _month_details(GA_Url)
- # 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])
+ # 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])
- 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;
- """
- c.top_publishers = []
- res = connection.execute(q, c.month)
- for row in res:
- c.top_publishers.append((model.Group.get(row[0]), row[1], row[2]))
-
+ 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;
+ """
+ c.top_publishers = []
+ res = connection.execute(q, c.month)
+ for row in res:
+ c.top_publishers.append((model.Group.get(row[0]), row[1], row[2]))
+ except Exception as e:
+ raise e
return render('ga_report/publisher/index.html')
--- a/ckanext/ga_report/plugin.py
+++ b/ckanext/ga_report/plugin.py
@@ -18,6 +18,16 @@
def after_map(self, map):
map.connect(
+ '/data/analytics/publisher/',
+ controller='ckanext.ga_report.controller:GaPublisherReport',
+ action='index'
+ )
+ map.connect(
+ '/data/analytics/publisher/{id}',
+ controller='ckanext.ga_report.controller:GaPublisherReport',
+ action='read'
+ )
+ map.connect(
'/data/analytics',
controller='ckanext.ga_report.controller:GaReport',
action='index'
@@ -27,16 +37,6 @@
controller='ckanext.ga_report.controller:GaReport',
action='csv'
)
- map.connect(
- '/data/analytics/publisher/',
- controller='ckanext.ga_report.controller:GaPublisherReport',
- action='index'
- )
- map.connect(
- '/data/analytics/publisher/{id}',
- controller='ckanext.ga_report.controller:GaPublisherReport',
- action='read'
- )
return map