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