mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 21:03:01 +00:00
Refactor: Prevent live managers from calling display in update
This commit is contained in:
@@ -678,9 +678,9 @@ class NBALiveManager(BaseNBAManager):
|
||||
self.current_game = self.live_games[0]
|
||||
self.last_game_switch = current_time
|
||||
|
||||
# Always update display when we have new data, but limit to once per second
|
||||
# Only update display if we have new data and enough time has passed
|
||||
if current_time - self.last_display_update >= 1.0:
|
||||
self.display(force_clear=True)
|
||||
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||
self.last_display_update = current_time
|
||||
else:
|
||||
# No live games found
|
||||
|
||||
@@ -446,8 +446,9 @@ class NCAABBLiveManager(BaseNCAABBMManager):
|
||||
self.current_game = self.live_games[0] if self.live_games else None
|
||||
self.last_game_switch = current_time
|
||||
|
||||
# Only update display if we have new data and enough time has passed
|
||||
if current_time - self.last_display_update >= 1.0:
|
||||
self.display(force_clear=True)
|
||||
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||
self.last_display_update = current_time
|
||||
else:
|
||||
self.live_games = []
|
||||
@@ -457,8 +458,9 @@ class NCAABBLiveManager(BaseNCAABBMManager):
|
||||
self.current_game_index = (self.current_game_index + 1) % len(self.live_games)
|
||||
self.current_game = self.live_games[self.current_game_index]
|
||||
self.last_game_switch = current_time
|
||||
self.display(force_clear=True)
|
||||
self.last_display_update = current_time
|
||||
# Force display update when switching games
|
||||
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||
self.last_display_update = current_time # Track last successful update that *would* have displayed
|
||||
|
||||
def _create_live_game_display(self, game_data: Dict[str, Any]) -> Image.Image:
|
||||
"""Create a display image for a live NCAA BB game."""
|
||||
|
||||
@@ -703,9 +703,9 @@ class NCAAMBLiveManager(BaseNCAAMBManager):
|
||||
self.last_game_switch = current_time
|
||||
|
||||
|
||||
# Always update display when we have new data, but limit rate
|
||||
if self.current_game and current_time - self.last_display_update >= 1.0:
|
||||
self.display(force_clear=True)
|
||||
# Only update display if we have new data and enough time has passed
|
||||
if current_time - self.last_display_update >= 1.0:
|
||||
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||
self.last_display_update = current_time
|
||||
else:
|
||||
# No live games found
|
||||
|
||||
@@ -639,10 +639,11 @@ class NHLLiveManager(BaseNHLManager):
|
||||
self.current_game = self.live_games[0]
|
||||
self.last_game_switch = current_time
|
||||
|
||||
# Always update display when we have new data, but limit to once per second
|
||||
if current_time - self.last_display_update >= 1.0:
|
||||
self.display(force_clear=True)
|
||||
# Update display if data changed, limit rate
|
||||
if data_changed and current_time - self.last_display_update >= 1.0:
|
||||
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||
self.last_display_update = current_time
|
||||
|
||||
else:
|
||||
# No live games found
|
||||
self.live_games = []
|
||||
@@ -653,9 +654,13 @@ class NHLLiveManager(BaseNHLManager):
|
||||
self.current_game_index = (self.current_game_index + 1) % len(self.live_games)
|
||||
self.current_game = self.live_games[self.current_game_index]
|
||||
self.last_game_switch = current_time
|
||||
# Force display update when switching games
|
||||
self.display(force_clear=True)
|
||||
self.last_display_update = current_time
|
||||
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||
self.last_display_update = current_time # Track time for potential display update
|
||||
|
||||
# If data changed for the *current* game, consider updating display (rate limited)
|
||||
elif data_changed and current_time - self.last_display_update >= 1.0:
|
||||
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||
self.last_display_update = current_time
|
||||
|
||||
def display(self, force_clear: bool = False):
|
||||
"""Display live game information."""
|
||||
|
||||
Reference in New Issue
Block a user