def load_circuit(): """Loads a circuit from resources file, then loads all its progress via the previous sessions outputs. :return: the newly loaded circuit. """ circuit = Circuit() load_tournament_types(circuit.tournament_types) load_ranking_points(circuit.ranking_points) load_circuit_players('men', circuit.men) load_circuit_players('women', circuit.women) circuit.men_scoreboard = load_circuit_player_scoreboard(circuit.men) circuit.women_scoreboard = load_circuit_player_scoreboard(circuit.women) circuit_progress_file = '%s/progress.csv' % OUTPUT if not os.path.isfile(circuit_progress_file): return circuit season = None with open(circuit_progress_file, 'r') as the_file: for line in the_file: csv = parse_csv_line(line) name = csv[0] complete = parse_bool(csv[1]) previous = season men_stats = load_season_player_stats(name, 'men', circuit.men) women_stats = load_season_player_stats(name, 'women', circuit.women) men_scoreboard = load_season_player_scoreboard(men_stats) women_scoreboard = load_season_player_scoreboard(women_stats) season = Season(circuit, previous, name, complete, men_stats, women_stats, men_scoreboard, women_scoreboard) season.tournaments = load_tournaments(season) circuit.seasons.insert(name, season) circuit.ordered_seasons.append(season) circuit.current_season = season return circuit