xref: /aosp_15_r20/external/autotest/frontend/settings.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
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