Coverage for config.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1"""
2Specify main configs here
4Other configs are specified in module's global.py in like
5configs = {
6 "development": {
7 "CONFIG_VAR": "DEVVALUE"
8 },
9 "production": {
10 "CONFIG_VAR": "PRODVALUE"
11 },
12 "testing": {
13 "CONFIG_VAR": "TESTVALUE"
14 }
15}
16"""
17import os
19base_path = os.path.dirname(os.path.abspath(__file__))
22class BaseConfig:
23 """Parent configuration class."""
25 DEBUG = False
26 SQLALCHEMY_TRACK_MODIFICATIONS = False
27 BASE_DIR = base_path
28 STATIC = os.path.join(base_path, "static")
29 UPLOADED_PATH_IMAGE = os.path.join(STATIC, "uploads", "images")
30 UPLOADED_PATH_THUMB = os.path.join(STATIC, "uploads", "thumbs")
33class ProductionConfig(BaseConfig):
34 """Configurations for production"""
36 # built in flask configs
37 ENV = "production"
38 SECRET_KEY = os.environ.get("SECRET_KEY")
40 # control email confirmation for user registration
41 EMAIL_CONFIRMATION_DISABLED = False
43 # flask-mailman configs
44 MAIL_SERVER = "smtp.googlemail.com"
45 MAIL_PORT = 465
46 MAIL_USE_TLS = False
47 MAIL_USE_SSL = True
48 MAIL_USERNAME = os.environ.get("MAIL_USERNAME")
49 MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD")
50 MAIL_DEFAULT_SENDER = os.environ.get("MAIL_DEFAULT_SENDER")
52 # database configs
53 SQLALCHEMY_DATABASE_URI = (
54 os.environ.get("SQLALCHEMY_DATABASE_URI") or "sqlite:///shopyo.db"
55 )
58class DevelopmentConfig(BaseConfig):
59 """Configurations for development"""
61 # built in flask configs
62 ENV = "development"
63 DEBUG = True
64 LOGIN_DISABLED = False
65 SECRET_KEY = "secret"
67 # control email confirmation for user registration
68 EMAIL_CONFIRMATION_DISABLED = False
70 # flask-mailman configs
71 MAIL_SERVER = "localhost"
72 MAIL_PORT = 1025
73 MAIL_USE_TLS = False
74 MAIL_USE_SSL = False
75 MAIL_USERNAME = ""
76 MAIL_PASSWORD = ""
77 MAIL_DEFAULT_SENDER = "ma@mail.com"
79 # database configs
80 SQLALCHEMY_DATABASE_URI = "sqlite:///shopyo.db"
82 # unknown configs
83 PASSWORD_SALT = "some pasword salt"
86class TestingConfig(BaseConfig):
87 """Configurations for testsing"""
89 # built in flask configs
90 ENV = "testing"
91 TESTING = True
92 DEBUG = True
93 SERVER_NAME = "localhost.com"
94 SECRET_KEY = "secret"
95 PREFERRED_URL_SCHEME = "http"
97 # flask WTF configs
98 WTF_CSRF_ENABLED = False
100 # control email confirmation for user registration
101 EMAIL_CONFIRMATION_DISABLED = False
103 # flask-mailman configs
104 MAIL_BACKEND = "console"
105 MAIL_USERNAME = "shopyofrom@test.com"
106 MAIL_PASSWORD = "pass"
107 MAIL_DEFAULT_SENDER = "shopyofrom@test.com"
109 # flask sqlalchemy configs
110 SQLALCHEMY_DATABASE_URI = "sqlite:///testing.db"
112 # flask bycrpt configs
113 BCRYPT_LOG_ROUNDS = 4
115 # unknown configs
116 PASSWORD_SALT = "some pasword salt"
117 LIVESERVER_PORT = 8943
118 LIVESERVER_TIMEOUT = 10
121app_config = {
122 "development": DevelopmentConfig,
123 "production": ProductionConfig,
124 "testing": TestingConfig,
125}