Adding site analytics at /data/analytics
[ckanext-ga-report.git] / ckanext / ga_report / controller.py
blob:a/ckanext/ga_report/controller.py -> blob:b/ckanext/ga_report/controller.py
--- a/ckanext/ga_report/controller.py
+++ b/ckanext/ga_report/controller.py
@@ -10,10 +10,10 @@
 log = logging.getLogger('ckanext.ga-report')
 
 
-def _get_month_name(str):
+def _get_month_name(strdate):
     import calendar
     from time import strptime
-    d = strptime('2012-10', '%Y-%m')
+    d = strptime(strdate, '%Y-%m')
     return '%s %s' % (calendar.month_name[d.tm_mon], d.tm_year)
 
 
@@ -21,7 +21,7 @@
     months = []
     vals = model.Session.query(cls.period_name).distinct().all()
     for m in vals:
-        months.append( (m[0], _get_month_name(m)))
+        months.append( (m[0], _get_month_name(m[0])))
     return sorted(months, key=operator.itemgetter(0), reverse=True)
 
 
@@ -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;
         """