webui changes to launch after config file changes

This commit is contained in:
Chuck
2025-09-15 11:34:40 -04:00
parent b96f1e3957
commit c55511c099
2 changed files with 26 additions and 6 deletions

View File

@@ -877,11 +877,11 @@
<div class="stat-label">CPU Temperature</div> <div class="stat-label">CPU Temperature</div>
</div> </div>
<div class="stat-card"> <div class="stat-card">
<div class="stat-value">{{ main_config.display.hardware.brightness }}</div> <div class="stat-value">{{ main_config.display.hardware.brightness if main_config and main_config.display and main_config.display.hardware and main_config.display.hardware.brightness is defined else 0 }}</div>
<div class="stat-label">Brightness</div> <div class="stat-label">Brightness</div>
</div> </div>
<div class="stat-card"> <div class="stat-card">
<div class="stat-value">{{ main_config.display.hardware.cols }}x{{ main_config.display.hardware.rows }}</div> <div class="stat-value">{{ main_config.display.hardware.cols if main_config and main_config.display and main_config.display.hardware and main_config.display.hardware.cols is defined else 0 }}x{{ main_config.display.hardware.rows if main_config and main_config.display and main_config.display.hardware and main_config.display.hardware.rows is defined else 0 }}</div>
<div class="stat-label">Resolution</div> <div class="stat-label">Resolution</div>
</div> </div>
<div class="stat-card"> <div class="stat-card">

View File

@@ -62,6 +62,27 @@ current_display_data = {}
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
class DictWrapper:
"""Wrapper to make dictionary accessible via dot notation for Jinja2 templates."""
def __init__(self, data):
if isinstance(data, dict):
for key, value in data.items():
if isinstance(value, dict):
setattr(self, key, DictWrapper(value))
else:
setattr(self, key, value)
else:
# If not a dict, just store the value
self._value = data
def __getattr__(self, name):
# Return None for missing attributes to avoid template errors
return None
def __getitem__(self, key):
# Support bracket notation as fallback
return getattr(self, key, None)
class DisplayMonitor: class DisplayMonitor:
def __init__(self): def __init__(self):
self.running = False self.running = False
@@ -401,7 +422,7 @@ def index():
return render_template('index_v2.html', return render_template('index_v2.html',
schedule_config=schedule_config, schedule_config=schedule_config,
main_config=main_config, main_config=DictWrapper(main_config),
main_config_data=main_config_data, main_config_data=main_config_data,
secrets_config=secrets_config_data, secrets_config=secrets_config_data,
main_config_json=main_config_json, main_config_json=main_config_json,
@@ -418,7 +439,7 @@ def index():
safe_secrets = {'weather': {'api_key': ''}} safe_secrets = {'weather': {'api_key': ''}}
return render_template('index_v2.html', return render_template('index_v2.html',
schedule_config={}, schedule_config={},
main_config={}, main_config=DictWrapper({}),
main_config_data={}, main_config_data={},
secrets_config=safe_secrets, secrets_config=safe_secrets,
main_config_json="{}", main_config_json="{}",
@@ -1444,6 +1465,5 @@ if __name__ == '__main__':
host='0.0.0.0', host='0.0.0.0',
port=5001, port=5001,
debug=False, debug=False,
use_reloader=False, use_reloader=False
allow_unsafe_werkzeug=True
) )