mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-12 13:42:59 +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.current_game = self.live_games[0]
|
||||||
self.last_game_switch = current_time
|
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:
|
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
|
self.last_display_update = current_time
|
||||||
else:
|
else:
|
||||||
# No live games found
|
# 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.current_game = self.live_games[0] if self.live_games else None
|
||||||
self.last_game_switch = current_time
|
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:
|
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
|
self.last_display_update = current_time
|
||||||
else:
|
else:
|
||||||
self.live_games = []
|
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_index = (self.current_game_index + 1) % len(self.live_games)
|
||||||
self.current_game = self.live_games[self.current_game_index]
|
self.current_game = self.live_games[self.current_game_index]
|
||||||
self.last_game_switch = current_time
|
self.last_game_switch = current_time
|
||||||
self.display(force_clear=True)
|
# Force display update when switching games
|
||||||
self.last_display_update = current_time
|
# 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:
|
def _create_live_game_display(self, game_data: Dict[str, Any]) -> Image.Image:
|
||||||
"""Create a display image for a live NCAA BB game."""
|
"""Create a display image for a live NCAA BB game."""
|
||||||
|
|||||||
@@ -703,9 +703,9 @@ class NCAAMBLiveManager(BaseNCAAMBManager):
|
|||||||
self.last_game_switch = current_time
|
self.last_game_switch = current_time
|
||||||
|
|
||||||
|
|
||||||
# Always update display when we have new data, but limit rate
|
# Only update display if we have new data and enough time has passed
|
||||||
if self.current_game and current_time - self.last_display_update >= 1.0:
|
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
|
self.last_display_update = current_time
|
||||||
else:
|
else:
|
||||||
# No live games found
|
# No live games found
|
||||||
|
|||||||
@@ -639,10 +639,11 @@ class NHLLiveManager(BaseNHLManager):
|
|||||||
self.current_game = self.live_games[0]
|
self.current_game = self.live_games[0]
|
||||||
self.last_game_switch = current_time
|
self.last_game_switch = current_time
|
||||||
|
|
||||||
# Always update display when we have new data, but limit to once per second
|
# Update display if data changed, limit rate
|
||||||
if current_time - self.last_display_update >= 1.0:
|
if data_changed and 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
|
self.last_display_update = current_time
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# No live games found
|
# No live games found
|
||||||
self.live_games = []
|
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_index = (self.current_game_index + 1) % len(self.live_games)
|
||||||
self.current_game = self.live_games[self.current_game_index]
|
self.current_game = self.live_games[self.current_game_index]
|
||||||
self.last_game_switch = current_time
|
self.last_game_switch = current_time
|
||||||
# Force display update when switching games
|
# self.display(force_clear=True) # REMOVED: DisplayController handles this
|
||||||
self.display(force_clear=True)
|
self.last_display_update = current_time # Track time for potential display update
|
||||||
self.last_display_update = current_time
|
|
||||||
|
# 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):
|
def display(self, force_clear: bool = False):
|
||||||
"""Display live game information."""
|
"""Display live game information."""
|
||||||
|
|||||||
Reference in New Issue
Block a user