-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.py
64 lines (52 loc) · 1.89 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
import os
from os.path import join, dirname, abspath
from dotenv import load_dotenv
dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)
class Config(object):
"""Parent configuration class."""
basedir = os.path.abspath(os.path.dirname(__file__))
SQLALCHEMY_ECHO = False
SQLALCHEMY_TRACK_MODIFICATIONS = True
DEBUG = False
CSRF_ENABLED = True
SECRET = os.environ.get('SECRET')
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
MAIL_SERVER=os.environ.get('MAIL_SERVER')
MAIL_PORT=os.environ.get('MAIL_PORT')
MAIL_PASSWORD=os.environ.get('MAIL_PASSWORD')
EMAIL_HOST_USER=os.environ.get('EMAIL_HOST_USER')
MAIL_USERNAME=os.environ.get('MAIL_USERNAME')
MAIL_USE_TLS=True
MAIL_USE_SSL=False
JWT_KEY=os.environ.get('JWT_KEY')
CONFIRM_MAIL_REDIRECT_LINK=os.environ.get('CONFIRM_MAIL_REDIRECT_LINK')
AWS_ACCESS_KEY=os.environ.get('AWS_ACCESS_KEY')
AWS_SECRET=os.environ.get('AWS_SECRET')
AWS_BUCKET = os.environ.get("TEST_AWS_BUCKET")
AWS_REGION = os.environ.get("TEST_AWS_REGION")
class DevelopmentConfig(Config):
"""Configurations for Development."""
DEBUG = True
class TestingConfig(Config):
"""Configurations for Testing, with a separate test database."""
TESTING = True
SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URL')
AWS_REGION = os.environ.get("TEST_AWS_REGION")
AWS_BUCKET = os.environ.get("TEST_AWS_BUCKET")
DEBUG = True
class StagingConfig(Config):
"""Configurations for Staging."""
DEBUG = True
class ProductionConfig(Config):
"""Configurations for Production."""
DEBUG = False
TESTING = False
AWS_REGION = os.environ.get("AWS_REGION")
AWS_BUCKET = os.environ.get("TEST_AWS_BUCKET")
app_config = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'staging': StagingConfig,
'production': ProductionConfig,
}