1
|
|
|
import os |
2
|
|
|
basedir = os.path.abspath(os.path.dirname(__file__)) |
3
|
|
|
|
4
|
|
|
|
5
|
|
|
class Config: |
6
|
|
|
SECRET_KEY = os.environ.get('SECRET_KEY') or 'o4d?2EXxt9.62Qj;ghXm[{#voUmF#$7ExY8T^V8BRC8si8faA$' |
7
|
|
|
dropbox_app_key = os.environ.get('DROPBOX_APP_KEY') |
8
|
|
|
dropbox_app_secret = os.environ.get('DROPBOX_APP_SECRET') |
9
|
|
|
dropbox_app_token = os.environ.get('DROPBOX_APP_TOKEN') |
10
|
|
|
SQLALCHEMY_COMMIT_ON_TEARDOWN = True |
11
|
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False |
12
|
|
|
MAPBOX_MAP_ID = os.environ.get('MAPBOX_MAP_ID') |
13
|
|
|
MAPBOX_ACCESS_TOKEN = os.environ.get('MAPBOX_ACCESS_TOKEN') |
14
|
|
|
SECURITY_POST_LOGIN_VIEW = 'admin/' |
15
|
|
|
SECURITY_CHANGEABLE = True |
16
|
|
|
CELERY_BROKER_URL = os.environ.get('CELERY_BROKER_URL', |
17
|
|
|
'redis://localhost:6379/1') |
18
|
|
|
SENTRY_USER_ATTRS = ['username', 'email'] |
19
|
|
|
SENTRY_DSN = os.environ.get('SENTRY_DSN') |
20
|
|
|
SENTRY_PUBLIC_DSN = os.environ.get('SENTRY_PUBLIC_DSN') |
21
|
|
|
CELERY_ACKS_LATE = True |
22
|
|
|
CELERYD_PREFETCH_MULTIPLIER = 1 |
23
|
|
|
CELERYD_MAX_TASKS_PER_CHILD = 10 |
24
|
|
|
CELERYD_TASK_TIME_LIMIT = 600 |
25
|
|
|
API_GAGES_PER_PAGE = 100 |
26
|
|
|
|
27
|
|
|
@staticmethod |
28
|
|
|
def init_app(app): |
29
|
|
|
pass |
30
|
|
|
|
31
|
|
|
|
32
|
|
|
class DevelopmentConfig(Config): |
33
|
|
|
DEBUG = True |
34
|
|
|
API_GAGES_PER_PAGE = 2 |
35
|
|
|
SQLALCHEMY_DATABASE_URI = 'postgresql://localhost/gage_web' |
36
|
|
|
# SERVER_NAME = 'flows.ngrok.com' |
37
|
|
|
|
38
|
|
|
|
39
|
|
|
class TestingConfig(Config): |
40
|
|
|
TESTING = True |
41
|
|
|
API_GAGES_PER_PAGE = 1 |
42
|
|
|
SECRET_KEY = '1' # noqa |
43
|
|
|
CSRF_ENABLED = False |
44
|
|
|
SQLALCHEMY_DATABASE_URI = os.environ.get('GAGE_DB', 'postgresql://localhost/gage_web_testing') |
45
|
|
|
CELERY_ALWAYS_EAGER = True |
46
|
|
|
# SQLALCHEMY_ECHO = True |
47
|
|
|
|
48
|
|
|
|
49
|
|
|
class DockerConfig(Config): |
50
|
|
|
DEBUG = os.environ.get('FLASK_DEBUG', False) |
51
|
|
|
SERVER_NAME = os.environ.get('SERVER_NAME') |
52
|
|
|
SECURITY_PASSWORD_HASH = 'bcrypt' # noqa |
53
|
|
|
SECURITY_PASSWORD_SALT = ( |
54
|
|
|
os.environ.get('SECRET_KEY') or |
55
|
|
|
'LMB#*42.)tHm4A;9Ce^hoPLN6C[m=3;2oTvK,vXA7EpMG4bg8x') |
56
|
|
|
SQLALCHEMY_DATABASE_URI = ( |
57
|
|
|
os.environ.get('GAGE_DB') or |
58
|
|
|
'postgresql://localhost/gage-web') |
59
|
|
|
|
60
|
|
|
|
61
|
|
|
|
62
|
|
|
class ProductionConfig(Config): |
63
|
|
|
# SERVER_NAME = 'riverflo.ws' |
64
|
|
|
SECURITY_PASSWORD_HASH = 'bcrypt' # noqa |
65
|
|
|
SECURITY_PASSWORD_SALT = ( |
66
|
|
|
os.environ.get('SECRET_KEY') or |
67
|
|
|
'LMB#*42.)tHm4A;9Ce^hoPLN6C[m=3;2oTvK,vXA7EpMG4bg8x') |
68
|
|
|
SQLALCHEMY_DATABASE_URI = ( |
69
|
|
|
os.environ.get('GAGE_DB') or |
70
|
|
|
'postgresql://localhost/gage-web') |
71
|
|
|
|
72
|
|
|
config = { |
73
|
|
|
'development': DevelopmentConfig, |
74
|
|
|
'testing': TestingConfig, |
75
|
|
|
'production': ProductionConfig, |
76
|
|
|
'docker': DockerConfig, |
77
|
|
|
|
78
|
|
|
'default': DevelopmentConfig |
79
|
|
|
} |
80
|
|
|
|