Add a dev mode configuration flag

This commit is contained in:
Campbell Alden 2026-09-05 23:38:55 +09:00
parent c3cd7c2796
commit 13779d5a74
3 changed files with 10 additions and 1 deletions

View file

@ -1,6 +1,7 @@
{ {
"host": "0.0.0.0", "host": "0.0.0.0",
"port": 8080, "port": 8080,
"dev_mode": false,
"logging": { "logging": {
"level": "info" "level": "info"
} }

0
src/api/__init__.py Normal file
View file

View file

@ -1,7 +1,6 @@
import json import json
from dataclasses import dataclass from dataclasses import dataclass
from typing import Any from typing import Any
from .logging import Logging from .logging import Logging
from .email import Email from .email import Email
from .auth import Auth from .auth import Auth
@ -13,6 +12,7 @@ from .parse import parse_nested_config
class Config: class Config:
host: str host: str
port: int | None port: int | None
dev_mode: bool
logging: Logging logging: Logging
email: Email email: Email
database: Database database: Database
@ -25,9 +25,17 @@ class Config:
db_config = parse_nested_config(config, 'database', Database.from_dict) db_config = parse_nested_config(config, 'database', Database.from_dict)
auth_config = parse_nested_config(config, 'auth', Auth.from_dict) auth_config = parse_nested_config(config, 'auth', Auth.from_dict)
mode = config.get('dev_mode')
if mode != True: # noqa: E712
# Explicitly checking for True and falling back to false for anything else. Only explicitly setting
# dev_mode to true will run in dev mode
mode = False
return Config( return Config(
host=config.get('host', '0.0.0.0'), host=config.get('host', '0.0.0.0'),
port=config.get('port'), port=config.get('port'),
dev_mode=mode,
email=email_config, email=email_config,
logging=log_config, logging=log_config,
database=db_config, database=db_config,