97518e0b44780d1a5ead1440c29649d6ccc0419f
[htsworkflow.git] / htsworkflow / settings / base.py
1 """
2 Django settings for wsgiexample project.
3
4 For more information on this file, see
5 https://docs.djangoproject.com/en/1.6/topics/settings/
6
7 For the full list of settings and their values, see
8 https://docs.djangoproject.com/en/1.6/ref/settings/
9 """
10
11 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
12 from os.path import abspath, basename, dirname, join, normpath
13 import sys
14 import logging
15
16 from htsworkflow.util import config_helper
17
18 DJANGO_ROOT = dirname(dirname(abspath(__file__)))
19 PROJECT_ROOT = dirname(DJANGO_ROOT)
20
21 INI_OPTIONS = config_helper.HTSWConfig()
22
23 SECRET_KEY = INI_OPTIONS.setdefaultsecret('frontend', 'secret_key')
24 DEFAULT_API_KEY = INI_OPTIONS.setdefaultsecret('frontend', 'api')
25
26 # SECURITY WARNING: don't run with debug turned on in production!
27 # Override in settings_local
28 DEBUG = False
29
30 TEMPLATE_DEBUG = False
31
32 # Application definition
33 AUTHENTICATION_BACKENDS = (
34   'samples.auth_backend.HTSUserModelBackend', )
35 CUSTOM_USER_MODEL = 'samples.HTSUser'
36
37 INSTALLED_APPS = [
38     'django.contrib.admin',
39     'django.contrib.auth',
40     'django.contrib.contenttypes',
41     'django.contrib.sessions',
42     'django.contrib.messages',
43     'django.contrib.staticfiles',
44     'django.contrib.humanize',
45
46     'eland_config',
47     'samples',
48     'experiments',
49     'bcmagic',
50     'inventory',
51     'labels',
52 ]
53
54 MIDDLEWARE_CLASSES = [
55     'django.contrib.sessions.middleware.SessionMiddleware',
56     'django.middleware.common.CommonMiddleware',
57     'django.middleware.csrf.CsrfViewMiddleware',
58     'django.contrib.auth.middleware.AuthenticationMiddleware',
59     'django.contrib.messages.middleware.MessageMiddleware',
60     'django.middleware.clickjacking.XFrameOptionsMiddleware',
61 ]
62
63 TEMPLATE_DIRS = [
64     join(DJANGO_ROOT, 'templates'),
65 ]
66
67 ROOT_URLCONF = 'htsworkflow.urls'
68
69 WSGI_APPLICATION = 'wsgi.application'
70
71 # Database
72 # https://docs.djangoproject.com/en/1.6/ref/settings/#databases
73
74 EMAIL_HOST = 'localhost'
75
76 # Internationalization
77 # https://docs.djangoproject.com/en/1.6/topics/i18n/
78
79 LANGUAGE_CODE = 'en-us'
80
81 TIME_ZONE='America/Los_Angeles'
82
83 USE_I18N = True
84
85 USE_L10N = True
86
87 USE_TZ = True
88
89 # Static files (CSS, JavaScript, Images)
90 # https://docs.djangoproject.com/en/1.6/howto/static-files/
91 STATICFILES_DIRS = (
92     join(DJANGO_ROOT, 'static'),
93 )
94 STATIC_URL = '/static/'
95
96 ###
97 # Application specific settings
98 DEFAULT_PM = 5
99
100 # How often to recheck the result archive
101 RESCAN_DELAY=1
102
103 # configure who is sending email and who should get BCCs of announcments
104 NOTIFICATION_SENDER = "noreply@example.com"
105 NOTIFICATION_BCC=[]
106
107 # Update this in settings_local to point to your flowcell result directory
108 RESULT_HOME_DIR = join(PROJECT_ROOT, 'test', 'result', 'flowcells')