Newer
Older
from piwikapi.tracking import PiwikTracker
from piwikapi.tests.request import FakeRequest
from ckan.common import c, request
from pylons import config
def do_if_use_matomo(func):
def wrapper(*args, **kwargs):
use_matomo = helpers_tpsh.use_matomo()
if use_matomo:
return func(*args, **kwargs)
return wrapper
@do_if_use_matomo
def create_matomo_request(userId=None):
headers = {
'HTTP_USER_AGENT': request.headers.get('User-Agent'),
'REMOTE_ADDR': request.headers.get('Host'),
# 'HTTP_REFERER': 'http://referer.com/somewhere/',
'HTTP_ACCEPT_LANGUAGE': request.headers.get('Accept-Language'),
'SERVER_NAME': config.get('ckan.site_url'),
'PATH_INFO': c.environ['PATH_INFO'],
# 'QUERY_STRING': 'something=bar',
'HTTPS': False,
}
fakerequest = FakeRequest(headers)
piwiktracker =PiwikTracker(config.get('ckanext.odsh.matomo_id'), fakerequest)
piwiktracker.set_api_url(config.get('ckanext.odsh.matomo_url'))

Thorge Petersen
committed
# enqueue_job(piwiktracker.do_track_page_view,[request.path_qs], queue='tracking')