Refactor: Prevent live managers from calling display in update

This commit is contained in:
ChuckBuilds
2025-05-03 20:50:03 -05:00
parent bb66c2c961
commit e5dd06a90e
4 changed files with 21 additions and 14 deletions

View File

@@ -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

View File

@@ -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."""

View File

@@ -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

View File

@@ -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."""