X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/1e9113af163a3d002b0b9c3e8c339f22af5b848a..0e79f07515678e3e678c3637124a27cb81ee8a94:/apps/stats/utils.py?ds=inline diff --git a/apps/stats/utils.py b/apps/stats/utils.py index a10c48ac5..474d1b59a 100644 --- a/apps/stats/utils.py +++ b/apps/stats/utils.py @@ -2,8 +2,6 @@ # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # -from django.contrib.sites.models import Site -from piwik.django.models import PiwikSite from django.conf import settings from datetime import datetime import logging @@ -18,7 +16,7 @@ logger = logging.getLogger(__name__) def piwik_url(request): return urllib.urlencode(dict( - idsite=_id_piwik, + idsite=getattr(settings, 'PIWIK_SITE_ID', '0'), rec=1, url='http://%s%s' % (request.META['HTTP_HOST'], request.path), rand=int(random() * 0x10000), @@ -34,18 +32,11 @@ def piwik_url(request): PIWIK_API_VERSION = 1 -# Retrieve piwik information -try: - _id_piwik = PiwikSite.objects.get(site=Site.objects.get_current().id).id_site -except PiwikSite.DoesNotExist: - logger.debug("No PiwikSite is configured.") - _id_piwik = None - def piwik_track(klass_or_method): """Track decorated class or method using Piwik (according to configuration in settings and django-piwik) Works for handler classes (executed by __call__) or handler methods. Expects request to be the first parameter """ - if _id_piwik is None: + if not getattr(settings, 'PIWIK_SITE_ID', 0): return klass_or_method # get target method @@ -56,7 +47,8 @@ def piwik_track(klass_or_method): call_func = klass_or_method def wrap(self, request, *args, **kw): - track_request.delay(piwik_url(request)) + if getattr(request, 'piwik_track', True): + track_request.delay(piwik_url(request)) return call_func(self, request, *args, **kw) # and wrap it