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