Esempio n. 1
0
    def _get_other_create_fields(self, context):
        other_fields = {}

        site_speed_sample_rate = getattr(
            settings, 'GOOGLE_ANALYTICS_SITE_SPEED_SAMPLE_RATE', False)
        if site_speed_sample_rate is not False:
            value = int(decimal.Decimal(site_speed_sample_rate))
            if not 0 <= value <= 100:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SITE_SPEED_SAMPLE_RATE' must be >= 0 and <= 100"
                )
            other_fields['siteSpeedSampleRate'] = value

        sample_rate = getattr(settings, 'GOOGLE_ANALYTICS_SAMPLE_RATE', False)
        if sample_rate is not False:
            value = int(decimal.Decimal(sample_rate))
            if not 0 <= value <= 100:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SAMPLE_RATE' must be >= 0 and <= 100")
            other_fields['sampleRate'] = value

        cookie_expires = getattr(settings,
                                 'GOOGLE_ANALYTICS_COOKIE_EXPIRATION', False)
        if cookie_expires is not False:
            value = int(decimal.Decimal(cookie_expires))
            if value < 0:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_COOKIE_EXPIRATION' must be >= 0")
            other_fields['cookieExpires'] = value

        return other_fields
    def _get_other_commands(self, context):
        commands = []
        if getattr(settings, 'GOOGLE_ANALYTICS_SITE_SPEED', False):
            commands.append(SITE_SPEED_CODE)

        if getattr(settings, 'GOOGLE_ANALYTICS_ANONYMIZE_IP', False):
            commands.append(ANONYMIZE_IP_CODE)

        sampleRate = getattr(settings, 'GOOGLE_ANALYTICS_SAMPLE_RATE', False)
        if sampleRate is not False:
            value = decimal.Decimal(sampleRate)
            if not 0 <= value <= 100:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SAMPLE_RATE' must be >= 0 and <= 100")
            commands.append(SAMPLE_RATE_CODE % value.quantize(TWOPLACES))

        siteSpeedSampleRate = getattr(
            settings, 'GOOGLE_ANALYTICS_SITE_SPEED_SAMPLE_RATE', False)
        if siteSpeedSampleRate is not False:
            value = decimal.Decimal(siteSpeedSampleRate)
            if not 0 <= value <= 100:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SITE_SPEED_SAMPLE_RATE' must be >= 0 and <= 100"
                )
            commands.append(SITE_SPEED_SAMPLE_RATE_CODE %
                            value.quantize(TWOPLACES))

        sessionCookieTimeout = getattr(
            settings, 'GOOGLE_ANALYTICS_SESSION_COOKIE_TIMEOUT', False)
        if sessionCookieTimeout is not False:
            value = decimal.Decimal(sessionCookieTimeout)
            if value < 0:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SESSION_COOKIE_TIMEOUT' must be >= 0")
            commands.append(SESSION_COOKIE_TIMEOUT_CODE %
                            value.quantize(ZEROPLACES))

        visitorCookieTimeout = getattr(
            settings, 'GOOGLE_ANALYTICS_VISITOR_COOKIE_TIMEOUT', False)
        if visitorCookieTimeout is not False:
            value = decimal.Decimal(visitorCookieTimeout)
            if value < 0:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_VISITOR_COOKIE_TIMEOUT' must be >= 0")
            commands.append(VISITOR_COOKIE_TIMEOUT_CODE %
                            value.quantize(ZEROPLACES))
        return commands
    def _get_create_command(self, context, tracking_type):
        argstrings = []
        if tracking_type != TRACK_SINGLE_DOMAIN:
            argstrings.append("'allowLinker': true")

        sampleRate = getattr(settings, 'GOOGLE_ANALYTICS_SAMPLE_RATE', False)
        if sampleRate is not False:
            value = decimal.Decimal(sampleRate)
            if not 0 <= value <= 100:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SAMPLE_RATE' must be >= 0 and <= 100")
            argstrings.append("'sampleRate' : %s" % value.quantize(TWOPLACES))

        sessionCookieTimeout = getattr(
            settings, 'GOOGLE_ANALYTICS_SESSION_COOKIE_TIMEOUT_SECONDS', False)
        if sessionCookieTimeout is not False:
            value = decimal.Decimal(sessionCookieTimeout)
            if value < 0:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SESSION_COOKIE_TIMEOUT_SECONDS' must be >= 0"
                )
            argstrings.append("'cookieExpires' : %s" %
                              value.quantize(ZEROPLACES))

        siteSpeedSampleRate = getattr(
            settings, 'GOOGLE_ANALYTICS_SITE_SPEED_SAMPLE_RATE', False)
        if siteSpeedSampleRate is not False:
            value = decimal.Decimal(siteSpeedSampleRate)
            if not 0 <= value <= 100:
                raise AnalyticalException(
                    "'GOOGLE_ANALYTICS_SITE_SPEED_SAMPLE_RATE' must be >= 0 and <= 100"
                )
            argstrings.append("'siteSpeedSampleRate' : %s" %
                              value.quantize(TWOPLACES))

        argstring = ','.join(argstrings)
        additional_args = ""
        if argstring:
            additional_args = ", " + "{" + argstring + "}"
        command = CREATE_CODE % {
            'property_id': self.property_id,
            'additional_args': additional_args,
        }
        return command
 def _get_domain_commands(self, context):
     commands = []
     tracking_type = getattr(settings, 'GOOGLE_ANALYTICS_TRACKING_STYLE',
                             TRACK_SINGLE_DOMAIN)
     commands.append(self._get_create_command(context, tracking_type))
     if tracking_type != TRACK_SINGLE_DOMAIN:
         commands.append(REQUIRE_LINKER_CODE)
         domain = get_domain(context, 'google_analytics')
         if domain is None:
             raise AnalyticalException(
                 "tracking multiple domains with Google Analytics requires a domain name"
             )
         commands.append(DOMAIN_CODE % domain)
     return commands
 def _get_domain_fields(self, context):
     domain_fields = {}
     tracking_type = getattr(settings, 'GOOGLE_ANALYTICS_TRACKING_STYLE', TRACK_SINGLE_DOMAIN)
     if tracking_type == TRACK_SINGLE_DOMAIN:
         pass
     else:
         domain = get_domain(context, 'google_analytics')
         if domain is None:
             raise AnalyticalException(
                 "tracking multiple domains with Google Analytics requires a domain name")
         domain_fields['legacyCookieDomain'] = domain
         if tracking_type == TRACK_MULTIPLE_DOMAINS:
             domain_fields['allowLinker'] = True
     return domain_fields
Esempio n. 6
0
 def _get_domain_commands(self, context):
     commands = []
     tracking_type = getattr(settings, 'GOOGLE_ANALYTICS_TRACKING_STYLE',
             TRACK_SINGLE_DOMAIN)
     if tracking_type == TRACK_SINGLE_DOMAIN:
         pass
     else:
         domain = get_domain(context, 'google_analytics')
         if domain is None:
             raise AnalyticalException("tracking multiple domains with"
                     " Google Analytics requires a domain name")
         commands.append(DOMAIN_CODE % domain)
         commands.append(NO_ALLOW_HASH_CODE)
         if tracking_type == TRACK_MULTIPLE_DOMAINS:
             commands.append(ALLOW_LINKER_CODE)
     return commands