Reduce terminal spam in NHL managers - Add no_data_warning_logged flag to track when warnings have been logged - Only log warnings once when no game data is available - Reset warning flag when game data becomes available

This commit is contained in:
ChuckBuilds
2025-04-18 11:17:22 -05:00
parent aa15ef1fc1
commit 8557e9acb6

View File

@@ -27,6 +27,7 @@ class BaseNHLManager:
self.fonts = self._load_fonts() self.fonts = self._load_fonts()
self.favorite_teams = self.nhl_config.get("favorite_teams", []) self.favorite_teams = self.nhl_config.get("favorite_teams", [])
self.logger = logging.getLogger('NHL') self.logger = logging.getLogger('NHL')
self.no_data_warning_logged = False # Flag to track if we've already logged a warning
# Get display dimensions from config # Get display dimensions from config
display_config = config.get("display", {}) display_config = config.get("display", {})
@@ -191,9 +192,14 @@ class BaseNHLManager:
def display(self, force_clear: bool = False): def display(self, force_clear: bool = False):
"""Display game information.""" """Display game information."""
if not self.current_game: if not self.current_game:
logging.warning("[NHL] No game data available to display") if not self.no_data_warning_logged:
logging.warning("[NHL] No game data available to display")
self.no_data_warning_logged = True
return return
# Reset the warning flag when we have data
self.no_data_warning_logged = False
try: try:
# Create a new black image # Create a new black image
img = Image.new('RGB', (self.display_width, self.display_height), 'black') img = Image.new('RGB', (self.display_width, self.display_height), 'black')