mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +00:00
non-priority sports logic improvement
This commit is contained in:
@@ -75,18 +75,18 @@
|
||||
"use_short_date_format": true
|
||||
},
|
||||
"clock": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"format": "%I:%M %p",
|
||||
"update_interval": 1
|
||||
},
|
||||
"weather": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"update_interval": 1800,
|
||||
"units": "imperial",
|
||||
"display_format": "{temp}°F\n{condition}"
|
||||
},
|
||||
"stocks": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"update_interval": 600,
|
||||
"scroll_speed": 1,
|
||||
"scroll_delay": 0.01,
|
||||
@@ -97,7 +97,7 @@
|
||||
"display_format": "{symbol}: ${price} ({change}%)"
|
||||
},
|
||||
"crypto": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"update_interval": 600,
|
||||
"symbols": [
|
||||
"BTC-USD", "ETH-USD"
|
||||
@@ -105,7 +105,7 @@
|
||||
"display_format": "{symbol}: ${price} ({change}%)"
|
||||
},
|
||||
"stock_news": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"update_interval": 3600,
|
||||
"scroll_speed": 1,
|
||||
"scroll_delay": 0.01,
|
||||
@@ -113,7 +113,7 @@
|
||||
"headlines_per_rotation": 2
|
||||
},
|
||||
"odds_ticker": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"show_favorite_teams_only": true,
|
||||
"games_per_favorite_team": 1,
|
||||
"max_games_per_league": 5,
|
||||
@@ -128,7 +128,7 @@
|
||||
"show_channel_logos": true
|
||||
},
|
||||
"calendar": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"credentials_file": "credentials.json",
|
||||
"token_file": "token.pickle",
|
||||
"update_interval": 3600,
|
||||
@@ -179,7 +179,7 @@
|
||||
}
|
||||
},
|
||||
"nfl_scoreboard": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"live_priority": true,
|
||||
"live_game_duration": 20,
|
||||
"show_odds": true,
|
||||
@@ -201,7 +201,7 @@
|
||||
}
|
||||
},
|
||||
"ncaa_fb_scoreboard": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"live_priority": true,
|
||||
"live_game_duration": 20,
|
||||
"show_odds": true,
|
||||
@@ -264,12 +264,12 @@
|
||||
}
|
||||
},
|
||||
"youtube": {
|
||||
"enabled": false,
|
||||
"enabled": true,
|
||||
"update_interval": 3600
|
||||
},
|
||||
"mlb": {
|
||||
"enabled": false,
|
||||
"live_priority": true,
|
||||
"enabled": true,
|
||||
"live_priority": false,
|
||||
"live_game_duration": 30,
|
||||
"show_odds": true,
|
||||
"test_mode": false,
|
||||
@@ -292,8 +292,8 @@
|
||||
}
|
||||
},
|
||||
"milb": {
|
||||
"enabled": false,
|
||||
"live_priority": true,
|
||||
"enabled": true,
|
||||
"live_priority": false,
|
||||
"live_game_duration": 30,
|
||||
"test_mode": false,
|
||||
"update_interval_seconds": 3600,
|
||||
@@ -346,13 +346,13 @@
|
||||
}
|
||||
},
|
||||
"music": {
|
||||
"enabled": true,
|
||||
"enabled": true,
|
||||
"preferred_source": "ytm",
|
||||
"YTM_COMPANION_URL": "http://192.168.86.12:9863",
|
||||
"POLLING_INTERVAL_SECONDS": 1
|
||||
},
|
||||
"of_the_day": {
|
||||
"enabled": true,
|
||||
"enabled": true,
|
||||
"display_rotate_interval": 20,
|
||||
"update_interval": 3600,
|
||||
"subtitle_rotate_interval": 10,
|
||||
|
||||
@@ -759,8 +759,14 @@ class DisplayController:
|
||||
"""Add or remove live modes from available_modes based on live_priority and live games."""
|
||||
# Helper to add/remove live modes for all sports
|
||||
def update_mode(mode_name, manager, live_priority):
|
||||
# If manager is None (sport disabled), remove the mode from rotation
|
||||
if manager is None:
|
||||
if mode_name in self.available_modes:
|
||||
self.available_modes.remove(mode_name)
|
||||
return
|
||||
|
||||
if not live_priority:
|
||||
if manager and getattr(manager, 'live_games', None):
|
||||
if getattr(manager, 'live_games', None):
|
||||
if mode_name not in self.available_modes:
|
||||
self.available_modes.append(mode_name)
|
||||
else:
|
||||
@@ -822,7 +828,8 @@ class DisplayController:
|
||||
('ncaam_basketball', 'ncaam_basketball_live', self.ncaam_basketball_live_priority)
|
||||
]:
|
||||
manager = getattr(self, attr, None)
|
||||
if priority and manager and getattr(manager, 'live_games', None):
|
||||
# Only consider sports that are enabled (manager is not None)
|
||||
if manager is not None and priority and getattr(manager, 'live_games', None):
|
||||
live_priority_takeover = True
|
||||
live_priority_sport = sport
|
||||
break
|
||||
@@ -1013,6 +1020,13 @@ class DisplayController:
|
||||
self.force_clear = False
|
||||
elif self.current_display_mode != 'none':
|
||||
logger.warning(f"No manager found or selected for display mode: {self.current_display_mode}")
|
||||
# If we can't display the current mode, switch to the next available mode
|
||||
if self.available_modes:
|
||||
self.current_mode_index = (self.current_mode_index + 1) % len(self.available_modes)
|
||||
self.current_display_mode = self.available_modes[self.current_mode_index]
|
||||
logger.info(f"Switching to next available mode: {self.current_display_mode}")
|
||||
else:
|
||||
logger.error("No available display modes found!")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Error during display update for mode {self.current_display_mode}: {e}", exc_info=True)
|
||||
|
||||
Reference in New Issue
Block a user