-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.py
136 lines (101 loc) · 3.46 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
import os
import hashlib
import jinja2
from dmutils.status import enabled_since, get_version_label
from dmutils.asset_fingerprint import AssetFingerprinter
basedir = os.path.abspath(os.path.dirname(__file__))
def get_asset_fingerprint(asset_file_path):
hasher = hashlib.md5()
with open(asset_file_path, 'rb') as asset_file:
buf = asset_file.read()
hasher.update(buf)
return hasher.hexdigest()
class Config(object):
VERSION = get_version_label(
os.path.abspath(os.path.dirname(__file__))
)
SESSION_COOKIE_NAME = 'dm_session'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_SECURE = True
PERMANENT_SESSION_LIFETIME = 4*3600
WTF_CSRF_ENABLED = True
WTF_CSRF_TIME_LIMIT = None
DM_DATA_API_URL = None
DM_DATA_API_AUTH_TOKEN = None
DM_SEARCH_API_URL = None
DM_SEARCH_API_AUTH_TOKEN = None
DM_GEO_API_URL = None
DM_GEO_API_AUTH_TOKEN = None
# matches api(s)
DM_SEARCH_PAGE_SIZE = 100
# This is just a placeholder
ES_ENABLED = True
DEBUG = False
RESET_PASSWORD_EMAIL_NAME = 'Inoket Admin'
RESET_PASSWORD_EMAIL_FROM = '[email protected]'
RESET_PASSWORD_EMAIL_SUBJECT = 'Reset your Cirrus password'
CREATE_USER_SUBJECT = 'Create your Inoket account'
SECRET_KEY = None
SHARED_EMAIL_KEY = None
RESET_PASSWORD_SALT = 'ResetPasswordSalt'
INVITE_EMAIL_SALT = 'InviteEmailSalt'
ASSET_PATH = '/static/'
BASE_TEMPLATE_DATA = {
'header_class': 'with-proposition',
'asset_path': ASSET_PATH,
'asset_fingerprinter': AssetFingerprinter(asset_root=ASSET_PATH)
}
# Feature Flags
RAISE_ERROR_ON_MISSING_FEATURES = True
# LOGGING
DM_LOG_LEVEL = 'DEBUG'
DM_APP_NAME = 'buyer-frontend'
DM_LOG_PATH = '/var/log/digitalmarketplace/application.log'
DM_DOWNSTREAM_REQUEST_ID_HEADER = 'X-Amz-Cf-Id'
@staticmethod
def init_app(app):
repo_root = os.path.abspath(os.path.dirname(__file__))
template_folders = [
os.path.join(repo_root, 'app/templates')
]
jinja_loader = jinja2.FileSystemLoader(template_folders)
app.jinja_loader = jinja_loader
class Test(Config):
DEBUG = True
DM_LOG_LEVEL = 'CRITICAL'
WTF_CSRF_ENABLED = False
DM_DATA_API_URL = "http://localhost:5000"
DM_DATA_API_AUTH_TOKEN = "myToken"
DM_SEARCH_API_URL = "http://localhost:5001"
DM_SEARCH_API_AUTH_TOKEN = "myToken"
DM_GEO_API_URL = "http://localhost:5005"
DM_GEO_API_AUTH_TOKEN = "myToken"
SHARED_EMAIL_KEY = "KEY"
SECRET_KEY = "KEY"
class Development(Config):
DEBUG = True
SESSION_COOKIE_SECURE = False
DM_SEARCH_PAGE_SIZE = 5
DM_DATA_API_URL = os.getenv('DM_DATA_API_URL', "http://localhost:5000")
DM_DATA_API_AUTH_TOKEN = os.getenv('DM_API_AUTH_TOKEN' ,"myToken")
DM_SEARCH_API_URL = os.getenv('DM_SEARCH_API_URL', "http://localhost:5001")
DM_SEARCH_API_AUTH_TOKEN = os.getenv('DM_SEARCH_API_AUTH_TOKEN',"myToken")
DM_GEO_API_URL = os.getenv('DM_GEO_API_URL', "http://localhost:5005")
DM_GEO_API_AUTH_TOKEN = os.getenv('DM_GEO_API_AUTH_TOKEN', "myToken")
SECRET_KEY = "verySecretKey"
SHARED_EMAIL_KEY = "very_secret"
class Preview(Config):
pass
class Live(Config):
DM_HTTP_PROTO = 'https'
DEBUG = False
class Staging(Live):
pass
configs = {
'development': Development,
'preview': Development,
'staging': Staging,
'production': Live,
'test': Test,
}