vtt/src/ttfrog/app.py

24 lines
614 B
Python
Raw Normal View History

2025-09-21 22:11:56 -07:00
import os
2025-09-24 01:28:23 -07:00
import sys
2025-09-21 22:11:56 -07:00
from flask import Flask
2025-09-24 01:28:23 -07:00
from tinydb.storages import MemoryStorage
2025-09-21 22:11:56 -07:00
2025-09-24 01:28:23 -07:00
from ttfrog.db import Database
2025-09-21 22:11:56 -07:00
class ApplicationContext:
2025-09-24 01:28:23 -07:00
def __init__(self):
self.web: Flask = Flask("ttfrog")
self.db: Database = Database(storage=MemoryStorage)
2025-09-21 22:11:56 -07:00
self._initialized = False
2025-09-24 01:28:23 -07:00
def initialize(self, db: Database = None):
2025-09-21 22:11:56 -07:00
if not self._initialized:
2025-09-24 01:28:23 -07:00
self.web.config["SECRET_KEY"] = os.getenv("SECRET_KEY", "secret string")
self.db = db or Database("ttfrog.db.json")
self._initialized = True
2025-09-21 22:11:56 -07:00
2025-09-24 01:28:23 -07:00
sys.modules[__name__] = ApplicationContext()