dynamicweb2/hosting/context_processor.py

33 lines
1.2 KiB
Python
Raw Normal View History

2023-11-22 10:12:05 +00:00
from django.conf import settings
def google_analytics(request):
"""
Use the variables returned in this function to
render your Google Analytics tracking code template.
Also check whether the site is a tenant site and create a corresponding
variable to indicate this
"""
return_dict = {}
host = request.get_host()
if getattr(settings, 'GOOGLE_ANALYTICS_PROPERTY_IDS', False):
ga_prop_id = getattr(settings, 'GOOGLE_ANALYTICS_PROPERTY_IDS').get(
host)
which_urlspy = settings.MULTISITE_CMS_URLS.get(host)
if ga_prop_id is None:
# Try checking if we have a www in host, if yes we remove
# that and check in the dict again
if host.startswith('www.'):
ga_prop_id = getattr(settings, 'GOOGLE_ANALYTICS_PROPERTY_IDS',
False).get(host[4:])
which_urlspy = settings.MULTISITE_CMS_URLS.get(host[4:])
if not settings.DEBUG and ga_prop_id:
return_dict['GOOGLE_ANALYTICS_PROPERTY_ID'] = ga_prop_id
if which_urlspy:
if which_urlspy.endswith("multi"):
return_dict['IS_TENANT_SITE'] = True
return return_dict