vf-site/lib/config.py

26 lines
604 B
Python

import tomllib
from dataclasses import dataclass
NAME = "name"
TEMPLATES_DIR = "templates_dir"
STATIC_FILES = "static_files"
OUT_DIR = "out_dir"
@dataclass(frozen=True)
class Config:
name: str
static_files: str
out_dir: str
templates_dir: str
def load() -> Config:
with open("config.toml", "rb") as f:
raw_config = tomllib.load(f)
return Config(
name=raw_config[NAME],
static_files="assets",
out_dir=raw_config.setdefault(OUT_DIR, "dist"),
templates_dir=raw_config.setdefault(TEMPLATES_DIR, "templates"),
)