Add individual NHL display mode control - Add display_modes section to NHL config - Add granular control over nhl_live, nhl_recent, and nhl_upcoming - Update DisplayController to respect individual mode settings

This commit is contained in:
ChuckBuilds
2025-04-18 11:02:01 -05:00
parent fd2b40a35b
commit 1c97087cf4
2 changed files with 21 additions and 15 deletions

View File

@@ -66,17 +66,18 @@
}, },
"nhl_scoreboard": { "nhl_scoreboard": {
"enabled": true, "enabled": true,
"favorite_teams": [ "test_mode": false,
"TBL", "update_interval_seconds": 60,
"DAL"
],
"test_mode": true,
"logo_dir": "assets/sports/nhl_logos",
"live_update_interval": 30, "live_update_interval": 30,
"recent_update_interval": 300, "recent_update_interval": 3600,
"upcoming_update_interval": 300, "upcoming_update_interval": 3600,
"recent_game_hours": 48, "recent_game_hours": 48,
"show_only_favorites": true, "favorite_teams": ["TBL", "DAL"],
"cycle_game_duration_seconds": 10 "logo_dir": "assets/sports/nhl_logos",
"display_modes": {
"nhl_live": true,
"nhl_recent": true,
"nhl_upcoming": true
}
} }
} }

View File

@@ -26,11 +26,14 @@ class DisplayController:
self.news = StockNewsManager(self.config, self.display_manager) if self.config.get('stock_news', {}).get('enabled', False) else None self.news = StockNewsManager(self.config, self.display_manager) if self.config.get('stock_news', {}).get('enabled', False) else None
# Initialize NHL managers if NHL is enabled # Initialize NHL managers if NHL is enabled
nhl_enabled = self.config.get('nhl_scoreboard', {}).get('enabled', False) nhl_config = self.config.get('nhl_scoreboard', {})
nhl_enabled = nhl_config.get('enabled', False)
nhl_display_modes = nhl_config.get('display_modes', {})
if nhl_enabled: if nhl_enabled:
self.nhl_live = NHLLiveManager(self.config, self.display_manager) self.nhl_live = NHLLiveManager(self.config, self.display_manager) if nhl_display_modes.get('nhl_live', True) else None
self.nhl_recent = NHLRecentManager(self.config, self.display_manager) self.nhl_recent = NHLRecentManager(self.config, self.display_manager) if nhl_display_modes.get('nhl_recent', True) else None
self.nhl_upcoming = NHLUpcomingManager(self.config, self.display_manager) self.nhl_upcoming = NHLUpcomingManager(self.config, self.display_manager) if nhl_display_modes.get('nhl_upcoming', True) else None
else: else:
self.nhl_live = None self.nhl_live = None
self.nhl_recent = None self.nhl_recent = None
@@ -43,7 +46,9 @@ class DisplayController:
if self.stocks: self.available_modes.append('stocks') if self.stocks: self.available_modes.append('stocks')
if self.news: self.available_modes.append('stock_news') if self.news: self.available_modes.append('stock_news')
if nhl_enabled: if nhl_enabled:
self.available_modes.extend(['nhl_live', 'nhl_recent', 'nhl_upcoming']) if self.nhl_live: self.available_modes.append('nhl_live')
if self.nhl_recent: self.available_modes.append('nhl_recent')
if self.nhl_upcoming: self.available_modes.append('nhl_upcoming')
# Set initial display to first available mode # Set initial display to first available mode
self.current_mode_index = 0 self.current_mode_index = 0