Update main application and dependencies

- Update main.py and run_web.py for local development
- Update microdot session handling
- Update wifi utility
This commit is contained in:
2026-01-27 13:05:07 +13:00
parent 3ed435824c
commit e74ef6d64f
4 changed files with 168 additions and 16 deletions

View File

@@ -87,6 +87,8 @@ async def run_local():
from microdot import Microdot, send_file
from microdot.websocket import with_websocket
from microdot.session import Session
import controllers.preset as preset
import controllers.profile as profile
import controllers.group as group
@@ -94,9 +96,15 @@ async def run_local():
import controllers.tab as tab
import controllers.palette as palette
import controllers.scene as scene
import controllers.pattern as pattern
import controllers.settings as settings_controller
app = Microdot()
# Initialize sessions with a secret key from settings
secret_key = settings.get('session_secret_key', 'led-controller-secret-key-change-in-production')
Session(app, secret_key=secret_key)
# Mount model controllers as subroutes
app.mount(preset.controller, '/presets')
app.mount(profile.controller, '/profiles')
@@ -105,6 +113,8 @@ async def run_local():
app.mount(tab.controller, '/tabs')
app.mount(palette.controller, '/palettes')
app.mount(scene.controller, '/scenes')
app.mount(pattern.controller, '/patterns')
app.mount(settings_controller.controller, '/settings')
# Serve index.html at root
@app.route('/')
@@ -112,6 +122,12 @@ async def run_local():
"""Serve the main web UI."""
return send_file('src/templates/index.html')
# Serve settings page
@app.route('/settings')
def settings_page(request):
"""Serve the settings page."""
return send_file('src/templates/settings.html')
# Static file route
@app.route("/static/<path:path>")
def static_handler(request, path):