diff --git a/src/nhl_managers.py b/src/nhl_managers.py index f7ad335c..49e5a0e5 100644 --- a/src/nhl_managers.py +++ b/src/nhl_managers.py @@ -506,34 +506,6 @@ class NHLRecentManager(BaseNHLManager): team_games[team] = [] team_games[team].append(game) - # If we don't have a current game or it's not in the new list, start from the beginning - if not self.current_game or self.current_game not in recent_games: - self.current_team_index = 0 - self.current_game_index = 0 - else: - # Find which team we're currently showing - for i, team in enumerate(self.favorite_teams): - if team in team_games and self.current_game in team_games[team]: - self.current_team_index = i - self.current_game_index = team_games[team].index(self.current_game) - break - - # Get the current team's games - current_team = self.favorite_teams[self.current_team_index] - current_team_games = team_games.get(current_team, []) - - if current_team_games: - # Move to next game for current team - self.current_game_index = (self.current_game_index + 1) % len(current_team_games) - self.current_game = current_team_games[self.current_game_index] - - # If we've shown all games for this team, move to next team - if self.current_game_index == 0: - self.current_team_index = (self.current_team_index + 1) % len(self.favorite_teams) - next_team = self.favorite_teams[self.current_team_index] - if next_team in team_games and team_games[next_team]: - self.current_game = team_games[next_team][0] - # Debug: Print all favorite team games we found print("\nDEBUG - Favorite team games found:") for team, games in team_games.items(): @@ -541,10 +513,63 @@ class NHLRecentManager(BaseNHLManager): for game in games: print(f" {game['away_abbr']} vs {game['home_abbr']}") - if self.current_game: - logging.info(f"[NHL] Rotating to recent game: {self.current_game['away_abbr']} vs {self.current_game['home_abbr']}") + # Find the first team that has games + first_team_with_games = None + for team in self.favorite_teams: + if team in team_games and team_games[team]: + first_team_with_games = team + break + + if first_team_with_games: + # If we don't have a current game or it's not in the new list, start from the beginning + if not self.current_game or self.current_game not in recent_games: + self.current_team_index = self.favorite_teams.index(first_team_with_games) + self.current_game_index = 0 + self.current_game = team_games[first_team_with_games][0] + logging.info(f"[NHL] Starting with {first_team_with_games} game: {self.current_game['away_abbr']} vs {self.current_game['home_abbr']}") + else: + # Find which team we're currently showing + for i, team in enumerate(self.favorite_teams): + if team in team_games and self.current_game in team_games[team]: + self.current_team_index = i + self.current_game_index = team_games[team].index(self.current_game) + break + + # Get the current team's games + current_team = self.favorite_teams[self.current_team_index] + current_team_games = team_games.get(current_team, []) + + if current_team_games: + # Move to next game for current team + self.current_game_index = (self.current_game_index + 1) % len(current_team_games) + self.current_game = current_team_games[self.current_game_index] + + # If we've shown all games for this team, move to next team + if self.current_game_index == 0: + # Find the next team that has games + next_team = None + for i in range(len(self.favorite_teams)): + next_team_index = (self.current_team_index + i + 1) % len(self.favorite_teams) + next_team = self.favorite_teams[next_team_index] + if next_team in team_games and team_games[next_team]: + self.current_team_index = next_team_index + self.current_game = team_games[next_team][0] + logging.info(f"[NHL] Switching to {next_team} game: {self.current_game['away_abbr']} vs {self.current_game['home_abbr']}") + break + + # If no next team has games, go back to the first team with games + if not next_team or next_team not in team_games or not team_games[next_team]: + self.current_team_index = self.favorite_teams.index(first_team_with_games) + self.current_game = team_games[first_team_with_games][0] + logging.info(f"[NHL] No more games, returning to {first_team_with_games} game: {self.current_game['away_abbr']} vs {self.current_game['home_abbr']}") + + if self.current_game: + logging.info(f"[NHL] Rotating to recent game: {self.current_game['away_abbr']} vs {self.current_game['home_abbr']}") + else: + logging.info("[NHL] No current game to display") else: - logging.info("[NHL] No current game to display") + logging.info("[NHL] No recent games found for favorite teams") + self.current_game = None else: logging.info("[NHL] No recent games found") self.current_game = None