refactor: replace configobj spec with pydantic-settings and Click CLI

Drop the config.spec/configobj configuration in favour of an
AppSettings pydantic-settings model (settings.py) loaded from
SMILEYFACE_-prefixed env vars or a .env file. Introduce AppContext
(context.py) to carry settings plus logging, dispatch commands through
a Click CLI (cli.py), and centralise log setup (logging_setup.py).
Update hub_machine, datalayer, and scraping modules to consume the new
context. Add .env.example and ignore .env.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mathew Sir Guest the best
2026-05-30 19:43:38 -06:00
co-authored by Claude Opus 4.8
parent 183fa960c3
commit 709e6f25fa
13 changed files with 277 additions and 264 deletions
+15
View File
@@ -0,0 +1,15 @@
# SmileyFace UT4 Server Configuration
# Copy to .env and fill in your values
SMILEYFACE_PROJECT_DIR=
SMILEYFACE_CONFIG_DIR=
SMILEYFACE_DOWNLOAD_URL=
SMILEYFACE_DOWNLOAD_FILENAME=
SMILEYFACE_DOWNLOAD_MD5=
SMILEYFACE_SKIP_VALIDATE=false
SMILEYFACE_REDIRECT_PROTOCOL=
SMILEYFACE_REDIRECT_URL=
SMILEYFACE_REMOTE_GAME_HOST=
SMILEYFACE_REMOTE_GAME_DIR=
SMILEYFACE_REMOTE_REDIRECT_HOST=
SMILEYFACE_SQLITE_FILENAME=smiles.db