From 1ba64a0516958b03a07cd2ad16e953bb257d186e Mon Sep 17 00:00:00 2001 From: ChuckBuilds <33324927+ChuckBuilds@users.noreply.github.com> Date: Thu, 24 Apr 2025 19:40:37 -0500 Subject: [PATCH] Add detailed logging to MLBRecentManager to diagnose missing games --- src/mlb_manager.py | 83 +++++++++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/src/mlb_manager.py b/src/mlb_manager.py index 4e5b9a5a..aead1e18 100644 --- a/src/mlb_manager.py +++ b/src/mlb_manager.py @@ -457,44 +457,59 @@ class MLBRecentManager(BaseMLBManager): try: # Fetch data from MLB API games = self._fetch_mlb_api_data() - if games: - # Process games - new_recent_games = [] - now = datetime.now(timezone.utc) # Make timezone-aware - recent_cutoff = now - timedelta(hours=self.recent_hours) + if not games: + logger.warning("[MLB] No games returned from API") + return - logger.info(f"Looking for games between {recent_cutoff} and {now}") + logger.info(f"[MLB] Found {len(games)} total games in API response") + + # Process games + new_recent_games = [] + now = datetime.now(timezone.utc) # Make timezone-aware + recent_cutoff = now - timedelta(hours=self.recent_hours) + + logger.info(f"[MLB] Looking for games between {recent_cutoff} and {now}") + logger.info(f"[MLB] Recent hours setting: {self.recent_hours}") + + for game in games.values(): + game_time = datetime.fromisoformat(game['start_time'].replace('Z', '+00:00')) + logger.info(f"[MLB] Checking game: {game['away_team']} @ {game['home_team']} at {game_time}") + logger.info(f"[MLB] Game status: {game['status']}") - for game in games.values(): - game_time = datetime.fromisoformat(game['start_time'].replace('Z', '+00:00')) - logger.info(f"Checking game: {game['away_team']} @ {game['home_team']} at {game_time}") - logger.info(f"Game status: {game['status']}") - - if game['status'] == 'final' and recent_cutoff <= game_time <= now: - new_recent_games.append(game) - logger.info(f"Added game to recent list: {game['away_team']} @ {game['home_team']}") + is_final = game['status'] == 'final' + is_within_time = recent_cutoff <= game_time <= now - # Filter for favorite teams - new_team_games = [game for game in new_recent_games - if game['home_team'] in self.favorite_teams or - game['away_team'] in self.favorite_teams] - - logger.info(f"Found {len(new_team_games)} games for favorite teams: {self.favorite_teams}") - for game in new_team_games: - logger.info(f"Favorite team game: {game['away_team']} @ {game['home_team']}") - - if new_team_games: - logger.info(f"[MLB] Found {len(new_team_games)} recent games for favorite teams") - self.recent_games = new_team_games - if not self.current_game: - self.current_game = self.recent_games[0] - else: - logger.info("[MLB] No recent games found for favorite teams") - self.recent_games = [] - self.current_game = None - - self.last_update = current_time + logger.info(f"[MLB] Is final: {is_final}") + logger.info(f"[MLB] Is within time window: {is_within_time}") + if is_final and is_within_time: + new_recent_games.append(game) + logger.info(f"[MLB] Added game to recent list: {game['away_team']} @ {game['home_team']}") + + logger.info(f"[MLB] Found {len(new_recent_games)} games within time window") + + # Filter for favorite teams + new_team_games = [game for game in new_recent_games + if game['home_team'] in self.favorite_teams or + game['away_team'] in self.favorite_teams] + + logger.info(f"[MLB] Favorite teams: {self.favorite_teams}") + logger.info(f"[MLB] Found {len(new_team_games)} games for favorite teams") + for game in new_team_games: + logger.info(f"[MLB] Favorite team game: {game['away_team']} @ {game['home_team']}") + + if new_team_games: + logger.info(f"[MLB] Found {len(new_team_games)} recent games for favorite teams") + self.recent_games = new_team_games + if not self.current_game: + self.current_game = self.recent_games[0] + else: + logger.info("[MLB] No recent games found for favorite teams") + self.recent_games = [] + self.current_game = None + + self.last_update = current_time + except Exception as e: logger.error(f"[MLB] Error updating recent games: {e}", exc_info=True)