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