1"""Django settings for frontend project. 2 3Two databases are configured for the use with django here. One for tko tables, 4which will always be the same database for all instances (the global database), 5and one for everything else, which will be the same as the global database for 6the main, but a local database for shards. 7Additionally there is a third database connection for read only access to the 8global database. 9 10This is implemented using a Django database router. 11For more details on how the routing works, see db_router.py. 12""" 13 14import common 15from autotest_lib.client.common_lib import global_config 16from autotest_lib.frontend import database_settings_helper 17 18c = global_config.global_config 19_section = 'AUTOTEST_WEB' 20 21DEBUG = c.get_config_value(_section, "sql_debug_mode", type=bool, default=False) 22TEMPLATE_DEBUG = c.get_config_value(_section, "template_debug_mode", type=bool, 23 default=False) 24 25FULL_ADMIN = False 26 27ADMINS = ( 28 # ('Your Name', 'your_email@domain.com'), 29) 30 31MANAGERS = ADMINS 32 33AUTOTEST_DEFAULT = database_settings_helper.get_default_db_config() 34AUTOTEST_GLOBAL = database_settings_helper.get_global_db_config() 35AUTOTEST_READONLY = database_settings_helper.get_readonly_db_config() 36AUTOTEST_SERVER = database_settings_helper.get_server_db_config() 37 38ALLOWED_HOSTS = '*' 39 40DATABASES = {'default': AUTOTEST_DEFAULT, 41 'global': AUTOTEST_GLOBAL, 42 'readonly': AUTOTEST_READONLY, 43 'server': AUTOTEST_SERVER,} 44 45# Have to set SECRET_KEY before importing connections because of this bug: 46# https://code.djangoproject.com/ticket/20704 47# TODO: Order this again after an upgrade to Django 1.6 or higher. 48# Make this unique, and don't share it with anybody. 49SECRET_KEY = 'pn-t15u(epetamdflb%dqaaxw+5u&2#0u-jah70w1l*_9*)=n7' 50 51# Do not do this here or from the router, or most unit tests will fail. 52# from django.db import connection 53 54DATABASE_ROUTERS = ['autotest_lib.frontend.db_router.Router'] 55 56# prefix applied to all URLs - useful if requests are coming through apache, 57# and you need this app to coexist with others 58URL_PREFIX = 'afe/server/' 59TKO_URL_PREFIX = 'new_tko/server/' 60 61# Local time zone for this installation. Choices can be found here: 62# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE 63# although not all variations may be possible on all operating systems. 64# If running in a Windows environment this must be set to the same as your 65# system time zone. 66TIME_ZONE = 'America/Los_Angeles' 67 68# Language code for this installation. All choices can be found here: 69# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes 70# http://blogs.law.harvard.edu/tech/stories/storyReader$15 71LANGUAGE_CODE = 'en-us' 72 73SITE_ID = 1 74 75# If you set this to False, Django will make some optimizations so as not 76# to load the internationalization machinery. 77USE_I18N = True 78 79# Absolute path to the directory that holds media. 80# Example: "/home/media/media.lawrence.com/" 81MEDIA_ROOT = '' 82 83# URL that handles the media served from MEDIA_ROOT. 84# Example: "http://media.lawrence.com" 85MEDIA_URL = '' 86 87# URL prefix of static file. Only used by the admin interface. 88STATIC_URL = '/' + URL_PREFIX + 'admin/' 89 90# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a 91# trailing slash. 92# Examples: "http://foo.com/media/", "/media/". 93ADMIN_MEDIA_PREFIX = '/media/' 94 95# List of callables that know how to import templates from various sources. 96TEMPLATE_LOADERS = ( 97 'django.template.loaders.filesystem.Loader', 98 'django.template.loaders.app_directories.Loader', 99# 'django.template.loaders.eggs.Loader', 100) 101 102MIDDLEWARE_CLASSES = ( 103 'django.middleware.common.CommonMiddleware', 104 'django.contrib.sessions.middleware.SessionMiddleware', 105 'frontend.apache_auth.ApacheAuthMiddleware', 106 'django.contrib.auth.middleware.AuthenticationMiddleware', 107 'django.middleware.doc.XViewMiddleware', 108 'django.contrib.messages.middleware.MessageMiddleware', 109) 110 111ROOT_URLCONF = 'frontend.urls' 112 113INSTALLED_APPS = ( 114 'frontend.afe', 115 'frontend.tko', 116 'django.contrib.admin', 117 'django.contrib.auth', 118 'django.contrib.contenttypes', 119 'django.contrib.sessions', 120 'django.contrib.sites', 121) 122 123AUTHENTICATION_BACKENDS = ( 124 'frontend.apache_auth.SimpleAuthBackend', 125) 126# TODO(scottz): Temporary addition until time can be spent untangling middleware 127# session crosbug.com/31608 128SESSION_COOKIE_AGE = 1200 129 130AUTOTEST_CREATE_ADMIN_GROUPS = True 131