27 lines
483 B
Python
27 lines
483 B
Python
import tomli
|
|
from pydantic import BaseModel
|
|
|
|
from .dav_common import dav_get_textfile_content
|
|
from .settings import SETTINGS
|
|
|
|
|
|
class User(BaseModel):
|
|
name: str
|
|
password: str
|
|
|
|
|
|
class Puzzle(BaseModel):
|
|
background: str
|
|
font: str
|
|
solution: str
|
|
|
|
|
|
class Config(BaseModel):
|
|
admin: User
|
|
puzzle: Puzzle
|
|
|
|
|
|
async def get_config() -> Config:
|
|
txt = await dav_get_textfile_content(path=SETTINGS.config_filename)
|
|
|
|
return Config.model_validate(tomli.loads(txt))
|