def get_race_info(self, season, round_num): """Get race information for a specific season and round""" url = f"{self.base_url}/{season}/{round_num}.json" data = self.make_request(url) if not data: return None races = data.get("MRData", {}).get("RaceTable", {}).get("Races", []) if races: return races[0] return None
def get_race_results(self, season, round_num): """Get race results for a specific season and round""" url = f"{self.base_url}/{season}/{round_num}/results.json" return self.make_request(url)
def fetch_round(self, season, round_num): """Fetch race results for a specific season and round""" logger.info(f"Fetching results for season {season}, round {round_num}") # Create season directory season_dir = self.base_dir / str(season) os.makedirs(season_dir, exist_ok=True) # Get race info race_info = self.get_race_info(season, round_num) if not race_info: logger.warning(f"No race info found for season {season}, round {round_num}") return race_name = self.get_race_folder_name(race_info) # Create race directory race_dir = season_dir / race_name os.makedirs(race_dir, exist_ok=True) # Get race results race_results = self.get_race_results(season, round_num) if race_results: race_results_path = race_dir / "results.json" self.save_json(race_results, race_results_path) else: logger.warning(f"No results found for season {season}, round {round_num}")