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": {
"enabled": true,
"favorite_teams": [
"TBL",
"DAL"
],
"test_mode": true,
"logo_dir": "assets/sports/nhl_logos",
"test_mode": false,
"update_interval_seconds": 60,
"live_update_interval": 30,
"recent_update_interval": 300,
"upcoming_update_interval": 300,
"recent_update_interval": 3600,
"upcoming_update_interval": 3600,
"recent_game_hours": 48,
"show_only_favorites": true,
"cycle_game_duration_seconds": 10
"favorite_teams": ["TBL", "DAL"],
"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
# 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:
self.nhl_live = NHLLiveManager(self.config, self.display_manager)
self.nhl_recent = NHLRecentManager(self.config, self.display_manager)
self.nhl_upcoming = NHLUpcomingManager(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) if nhl_display_modes.get('nhl_recent', True) else None
self.nhl_upcoming = NHLUpcomingManager(self.config, self.display_manager) if nhl_display_modes.get('nhl_upcoming', True) else None
else:
self.nhl_live = None
self.nhl_recent = None
@@ -43,7 +46,9 @@ class DisplayController:
if self.stocks: self.available_modes.append('stocks')
if self.news: self.available_modes.append('stock_news')
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
self.current_mode_index = 0