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
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