import os import sys from flask import Flask from tinydb.storages import MemoryStorage from ttfrog.db import Database class ApplicationContext: def __init__(self): self.web: Flask = Flask("ttfrog") self.db: Database = Database(storage=MemoryStorage) self._initialized = False def initialize(self, db: Database = None): if not self._initialized: self.web.config["SECRET_KEY"] = os.getenv("SECRET_KEY", "secret string") self.db = db or Database("ttfrog.db.json") self._initialized = True sys.modules[__name__] = ApplicationContext()