text: # Copyright (c) 2015 Ansible, Inc.
  # All Rights Reserved.
  
  # Development settings for AWX project.
  
  # Python
  import os
  import socket
  import copy
  import sys
  import traceback
  import uuid
  
  # Centos-7 doesn't include the svg mime type
  # /usr/lib64/python/mimetypes.py
  import mimetypes
  
  # Django Split Settings
  from split_settings.tools import optional, include
  
  # Load default settings.
  from defaults import *  # NOQA
  
  # don't use memcache when running tests
  if "pytest" in sys.modules:
      CACHES = {
          'default': {
              'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
              'LOCATION': 'unique-{}'.format(str(uuid.uuid4())),
          },
      }
  
  # awx-manage shell_plus --notebook
  NOTEBOOK_ARGUMENTS = [
      '--NotebookApp.token=',
      '--ip', '0.0.0.0',
      '--port', '8888',
      '--allow-root',
      '--no-browser',
  ]
  
  # print SQL queries in shell_plus
  SHELL_PLUS_PRINT_SQL = False
  
  # show colored logs in the dev environment
  # to disable this, set `COLOR_LOGS = False` in awx/settings/local_settings.py
  LOGGING['handlers']['console']['()'] = 'awx.main.utils.handlers.ColorHandler'
  COLOR_LOGS = True
  
  # Pipe management playbook output to console
  LOGGING['loggers']['awx.isolated.manager.playbooks']['propagate'] = True
  
  ALLOWED_HOSTS = ['*']
  
  mimetypes.add_type("image/svg+xml", ".svg", True)
  mimetypes.add_type("image/svg+xml", ".svgz", True)
  
  # Disallow sending session cookies over insecure connections
  SESSION_COOKIE_SECURE = False
  
  # Disallow sending csrf cookies over insecure connections
  CSRF_COOKIE_SECURE = False
  
  # Override django.template.loaders.cached.Loader in defaults.py
  template = next((tpl_backend for tpl_backend in TEMPLATES if tpl_backend['NAME'] == 'default'), None) # noqa
  template['OPTIONS']['loaders'] = (
      'django.template.loaders.filesystem.Loader',
      'django.template.loaders.app_directories.Loader',
  )
  
  CALLBACK_QUEUE = "callback_tasks"
  
  # Enable dynamically pulling roles from a requirement.yml file
  # when updating SCM projects
  # Note: This setting may be overridden by database settings.
  AWX_ROLES_ENABLED = True
  
  # Enable PROOT for tower-qa integration tests.
  # Note: This setting may be overridden by database settings.
  AWX_PROOT_ENABLED = True
  
  AWX_ISOLATED_USERNAME = 'root'
  AWX_ISOLATED_CHECK_INTERVAL = 1
  AWX_ISOLATED_LAUNCH_TIMEOUT = 30
  
  # Disable Pendo on the UI for development/test.
  # Note: This setting may be overridden by database settings.
  PENDO_TRACKING_STATE = "off"
  
  # Use Django-Jenkins if installed. Only run tests for awx.main app.
  try:
      import django_jenkins
      INSTALLED_APPS += (django_jenkins.__name__,)
      PROJECT_APPS = ('awx.main.tests', 'awx.api.tests',)
  except ImportError:
      pass
  
  if 'django_jenkins' in INSTALLED_APPS:
      JENKINS_TASKS = (
          # 'django_jenkins.tasks.run_pylint',
          # 'django_jenkins.tasks.run_flake8',
          # The following are not needed when including run_flake8
          # 'django_jenkins.tasks.run_pep8',
          # 'django_jenkins.tasks.run_pyflakes',
          # The following are handled by various grunt tasks and no longer required
          # 'django_jenkins.tasks.run_jshint',
          # 'django_jenkins.tasks.run_csslint',
      )
      PEP8_RCFILE = "setup.cfg"
      PYLINT_RCFILE = ".pylintrc"
  
  INSTALLED_APPS += ('rest_framework_swagger',)
  
  # Configure a default UUID for development only.
  SYSTEM_UUID = '00000000-0000-0000-0000-000000000000'
  
  # Store a snapshot of default settings at this point before loading any
  # customizable config files.
  DEFAULTS_SNAPSHOT = {}
  this_module = sys.modules[__name__]
  for setting in dir(this_module):
      if setting == setting.upper():
          DEFAULTS_SNAPSHOT[setting] = copy.deepcopy(getattr(this_module, setting))
  
  # If there is an `/etc/tower/settings.py`, include it.
  # If there is a `/etc/tower/conf.d/*.py`, include them.
  include(optional('/etc/tower/settings.py'), scope=locals())
  include(optional('/etc/tower/conf.d/*.py'), scope=locals())
  
  BASE_VENV_PATH = "/venv/"
  ANSIBLE_VENV_PATH = os.path.join(BASE_VENV_PATH, "ansible")
  AWX_VENV_PATH = os.path.join(BASE_VENV_PATH, "awx")
  
  # If any local_*.py files are present in awx/settings/, use them to override
  # default settings for development.  If not present, we can still run using
  # only the defaults.
  try:
      include(optional('local_*.py'), scope=locals())
  except ImportError:
      traceback.print_exc()
      sys.exit(1)
  
  CLUSTER_HOST_ID = socket.gethostname()
  
  try:
      socket.gethostbyname('docker.for.mac.host.internal')
      os.environ['SDB_NOTIFY_HOST'] = 'docker.for.mac.host.internal'
  except Exception:
      os.environ['SDB_NOTIFY_HOST'] = os.popen('ip route').read().split(' ')[2]
  
  WEBSOCKET_ORIGIN_WHITELIST = ['https://localhost:8043', 'https://localhost:3000']
  