update
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
from urllib.parse import quote_plus
|
||||
|
||||
from dotenv import load_dotenv
|
||||
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
DEFAULT_SQLITE_PATH = BASE_DIR / "instance" / "ksp.sqlite3"
|
||||
|
||||
load_dotenv(BASE_DIR / ".env")
|
||||
|
||||
|
||||
def _build_database_uri() -> str:
|
||||
host = os.getenv("PGHOST")
|
||||
port = os.getenv("PGPORT")
|
||||
user = os.getenv("PGUSER")
|
||||
password = os.getenv("PGPASSWORD")
|
||||
database = os.getenv("PGDATABASE")
|
||||
|
||||
if all([host, port, user, password, database]):
|
||||
return (
|
||||
"postgresql+psycopg://"
|
||||
f"{quote_plus(user)}:{quote_plus(password)}@{host}:{port}/{quote_plus(database)}"
|
||||
)
|
||||
|
||||
DEFAULT_SQLITE_PATH.parent.mkdir(parents=True, exist_ok=True)
|
||||
return f"sqlite:///{DEFAULT_SQLITE_PATH.as_posix()}"
|
||||
|
||||
|
||||
class Config:
|
||||
APP_ENV = os.getenv("APP_ENV", "development")
|
||||
APP_PORT = int(os.getenv("APP_PORT", "8000"))
|
||||
APP_SECRET_KEY = os.getenv("APP_SECRET_KEY", "development-only-secret-key")
|
||||
PROJECT_TITLE = os.getenv("PROJECT_TITLE", "KSP Data Hangar")
|
||||
WORKBOOK_PATH = os.getenv("WORKBOOK_PATH", "KSP Engine Tweak Chart.xlsx")
|
||||
SQLALCHEMY_DATABASE_URI = _build_database_uri()
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
SQLALCHEMY_ECHO = os.getenv("SQLALCHEMY_ECHO", "false").lower() == "true"
|
||||
SECRET_KEY = APP_SECRET_KEY
|
||||
Reference in New Issue
Block a user