Implement custom config class; get SQLAlchemy database URI from config

This commit is contained in:
Lexi / Zoe 2022-04-15 01:49:41 +02:00
parent 31df889dcb
commit 04d434b4a3
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
7 changed files with 68 additions and 13 deletions

View file

@ -1,10 +1,9 @@
import os
import yaml
from flask import Flask
from tofu_api.api import TofuApiBlueprint
from tofu_api.config import DefaultConfig
from tofu_api.common.config import Config
from tofu_api.dependencies import Dependencies
@ -12,6 +11,12 @@ class App(Flask):
"""
Flask application for Tofu API.
"""
# Override Flask classes
config_class = Config
# Set type hint for config
config: Config
# Dependencies container
dependencies: Dependencies
@ -25,10 +30,9 @@ class App(Flask):
instance_path=project_root_dir,
instance_relative_config=True,
)
self.config.from_object(DefaultConfig)
# Load app configuration from YAML file
self.config.from_file(os.getenv('FLASK_CONFIG_FILE', default='config.yml'), load=yaml.safe_load)
self.config.from_yaml(os.getenv('FLASK_CONFIG_FILE', default='config.yml'))
# Initialize DI container
self.dependencies = Dependencies()