1.3
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 11 Sep 2012 17:52:20 +0000 (13:52 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 11 Sep 2012 17:52:20 +0000 (13:52 -0400)
CHANGES
auf/django/piwik/middleware.py
auf/django/piwik/settings.py
setup.py

diff --git a/CHANGES b/CHANGES
index 32db3c8..34b3b44 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+1.3
+---
+
+* Ne rien logger si on provient de id.auf.org
+
+* PIWIK_EXCLUDE_REFERER conf
+
 1.2
 ---
 
index 73cfa49..0fdaa58 100644 (file)
@@ -4,7 +4,8 @@ import re
 
 from django.conf import settings
 
-from settings import PIWIK_TOKEN, PIWIK_HOST, PIWIK_HTTPFORCE, PIWIK_TRACKCODE
+from settings import PIWIK_TOKEN, PIWIK_HOST, PIWIK_HTTPFORCE,\
+    PIWIK_TRACKCODE, PIWIK_EXCLUDE_REFERER
 
 ire_body = re.compile(re.escape('</body>'), re.IGNORECASE)
 
@@ -19,6 +20,14 @@ class TrackMiddleware:
         if PIWIK_TOKEN is None:
             return response
 
+        http_referer = request.META.get('HTTP_REFERER', "")
+        referer = http_referer
+        
+        for excl in PIWIK_EXCLUDE_REFERER:
+            if excl in http_referer:
+                referer = ""
+                break
+
         if request.is_secure() and not PIWIK_HTTPFORCE:
             protocol = "https"
         else:
@@ -29,8 +38,9 @@ class TrackMiddleware:
                 'token': PIWIK_TOKEN,
                 'protocol': protocol,
                 'static': settings.STATIC_URL,
+                'referer': referer,
                 }
-
+        track += http_referer
         content = response.content
         content_with_trackcode = ire_body.sub('%s</body>' % track, content)
         response.content = content_with_trackcode
index 3a0f177..963a3b3 100644 (file)
@@ -6,6 +6,9 @@ from django.conf import settings
 PIWIK_TOKEN = getattr(settings, 'PIWIK_TOKEN', None)
 PIWIK_HTTPFORCE = getattr(settings, 'PIWIK_HTTPFORCE', False)
 PIWIK_HOST = getattr(settings, 'PIWIK_HOST', 'auf.stats.mysnip-hosting.de')
+PIWIK_EXCLUDE_REFERER = (
+        'id.auf.org',
+        )
 
 PIWIK_TRACKCODE = """
 <!-- Piwik -->
@@ -16,6 +19,8 @@ PIWIK_TRACKCODE = """
 <script type="text/javascript">
     try {
         var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", %(token)s);
+        piwikTracker.disableCookies();
+        piwikTracker.setReferrerUrl('%(referer)s');
         piwikTracker.trackPageView();
         piwikTracker.enableLinkTracking();
     }
index 191e184..53fe5c1 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 
 name = 'auf.django.piwik'
-version = '1.2'
+version = '1.3'
 
 setup(name=name,
       version=version,