Exemplo n.º 1
0
    def do_track_page_view(self, headers, reqtime=None, title=None, userid=None, session_key=None, status_code=None,
                fail_silently=PIWIK_FAIL_SILENTLY):
        """
        Actually record the page view with Piwik: do the actual work with kwargs from self.get_track_kwargs
        """
        request = FakeRequest(headers)
        pt = PiwikTracker(PIWIK_SITEID, request)

        pt.set_api_url(PIWIK_URL)
        pt.set_token_auth(PIWIK_TOKEN)

        pt.set_ip(get_real_ip(request))

        if session_key:
            visitor_id = hashlib.sha512(session_key).hexdigest()[0:PiwikTracker.LENGTH_VISITOR_ID]
            pt.set_visitor_id(visitor_id)

        if reqtime:
            dt = datetime.datetime.fromtimestamp(reqtime, pytz.utc)
            pt.set_force_visit_date_time(dt)

        if userid:
            pt.set_custom_variable(1, 'userid', userid, scope='visit')

        if status_code:
            pt.set_custom_variable(2, 'status_code', status_code, scope='page')

        if PIWIK_FORCE_HOST:
            pt._set_host(PIWIK_FORCE_HOST)

        try:
            pt.do_track_page_view(title)
        except urllib_errors:
            if not fail_silently:
                raise
Exemplo n.º 2
0
        def func_wrapper(request, *args, **kwargs):
            if check_piwik_settings():
                try:
                    piwik = PiwikTracker(settings.PIWIK['SITE_ID'], request)
                    piwik.set_api_url('%s/piwik.php' % settings.PIWIK['URL'])
                    piwik.set_ip(get_client_ip(request))
                    piwik.set_token_auth(settings.PIWIK['AUTH_TOKEN'])
                    if request.user.is_authenticated:
                        piwik.set_visitor_id(request.user.unique_visitor_id)
                    piwik.do_track_page_view(title)
                except HTTPError as e:
                    sys.stderr.write(str(e))
                    sys.stderr.write('\n')

            return func(request, *args, **kwargs)
Exemplo n.º 3
0
    def do_track_page_view(self,
                           headers,
                           reqtime=None,
                           title=None,
                           userid=None,
                           session_key=None,
                           status_code=None,
                           fail_silently=PIWIK_FAIL_SILENTLY):
        """
        Actually record the page view with Piwik: do the actual work with kwargs from self.get_track_kwargs
        """
        request = FakeRequest(headers)
        pt = PiwikTracker(PIWIK_SITEID, request)

        pt.set_api_url(PIWIK_URL)
        pt.set_token_auth(PIWIK_TOKEN)

        pt.set_ip(get_real_ip(request))

        if session_key:
            visitor_id = hashlib.sha512(
                session_key).hexdigest()[0:PiwikTracker.LENGTH_VISITOR_ID]
            pt.set_visitor_id(visitor_id)

        if reqtime:
            dt = datetime.datetime.fromtimestamp(reqtime, pytz.utc)
            pt.set_force_visit_date_time(dt)

        if userid:
            pt.set_custom_variable(1, 'userid', userid, scope='visit')

        if status_code:
            pt.set_custom_variable(2, 'status_code', status_code, scope='page')

        if PIWIK_FORCE_HOST:
            pt._set_host(PIWIK_FORCE_HOST)

        try:
            pt.do_track_page_view(title)
        except urllib_errors:
            if not fail_silently:
                raise