-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
45 lines (33 loc) · 1.29 KB
/
Copy pathconfig.py
File metadata and controls
45 lines (33 loc) · 1.29 KB
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
import os
from pathlib import Path
class Config:
"""Set Flask configuration vars."""
# General Config
FLASK_APP = os.environ.get("FLASK_APP") or "application"
SECRET_KEY = os.environ.get("SECRET_KEY") or "secret_key"
ENV = os.environ.get("FLASK_ENV") or "development"
if ENV == "development":
DEBUG = True
# SQLAlchemy Config
if "RDS_HOSTNAME" in os.environ:
NAME = os.environ["RDS_DB_NAME"]
USER = os.environ["RDS_USERNAME"]
PASSWORD = os.environ["RDS_PASSWORD"]
HOST = os.environ["RDS_HOSTNAME"]
PORT = os.environ["RDS_PORT"]
database_url = f"mysql+pymysql://{USER}:{PASSWORD}@{HOST}:{PORT}/{NAME}"
else:
# Ensure the instance folder exists
INSTANCE_PATH = os.environ.get("INSTANCE_PATH") or Path.cwd() / "instance"
INSTANCE_PATH.mkdir(exist_ok=True)
database_url = f"sqlite:///{INSTANCE_PATH}/{FLASK_APP}.sqlite"
SQLALCHEMY_DATABASE_URI = database_url
SQLALCHEMY_TRACK_MODIFICATIONS = False
# Wargaming API
API_KEY = os.environ.get("API_KEY") or "Your Wargaming API key needs to be set!"
# APScheduler Config
SCHEDULER_API_ENABLED = False
class TestingConfig(Config):
DEBUG = True
TESTING = True
SQLALCHEMY_DATABASE_URI = "sqlite:///:memory:"