Skip to content
Snippets Groups Projects
Commit 6d430ee2 authored by Lennard Geese's avatar Lennard Geese
Browse files

Adjust for DataImporter.py to use SessionIdentifier

parent 6d4aa011
No related branches found
No related tags found
No related merge requests found
......@@ -4,10 +4,7 @@ from abc import ABC
from fastf1.core import Session
from fastf1.events import EventSchedule, Event
from DataHandler import DataHandler
from DataHandler import DataHandler, SessionIdentifier
class DataImporter(DataHandler, ABC):
......@@ -26,14 +23,14 @@ class DataImporter(DataHandler, ABC):
x = 0
def importRaceSessions(self, sessionIdentifiers: list[(int, int)], laps = True, telemetry = False, weather = True, messages = False):
def importSessions(self, sessionIdentifiers: list[SessionIdentifier], laps = True, telemetry = False, weather = True, messages = False):
sessions: list[Session] = []
for sessionIdentifier in sessionIdentifiers:
sessions.append(self.importSession(sessionIdentifier, "R", laps, weather, messages, telemetry))
sessions.append(self.importSession(sessionIdentifier, laps, weather, messages, telemetry))
return sessions
def importSession(self, sessionIdentifier: (int, int), sessionType: str, laps = True, telemetry = False, weather = True, messages = False):
session = fastf1.get_session(sessionIdentifier[0], sessionIdentifier[1], sessionType)
def importSession(self, sessionIdentifier: SessionIdentifier, laps = True, telemetry = False, weather = True, messages = False):
session = fastf1.get_session(sessionIdentifier.year, sessionIdentifier.event, sessionIdentifier.sessionType)
session.load(laps = laps, telemetry = telemetry, weather = weather, messages = messages)
return session
\ No newline at end of file
......@@ -2,6 +2,7 @@ from asyncio import Event
from DataAnalyser import DataAnalyser
from DataChecker import DataChecker
from DataHandler import SessionIdentifier
from DataImporter import DataImporter
from DataPlotter import DataPlotter
......@@ -18,14 +19,13 @@ class Main:
self.listWetWeatherRacesSince(2015)
race_indexes = [
[2022, 4], # Imola 2022 (DWR)
[2024, 7], # Imola 2024 (SWR)
[2024, 9], # Canada 2024 (DWR)
[2023, 8] # Canada 2023 (SWR)
# TODO: add more races
racesToAnalyse = [
SessionIdentifier(2022, 4, "R"), # Imola 2022 (DWR)
SessionIdentifier(2024, 7, "R"), # Imola 2024 (SWR)
SessionIdentifier(2024, 9, "R"), # Canada 2024 (DWR)
SessionIdentifier(2023, 8, "R") # Canada 2023 (SWR)
]
self.overtakeAnalysis(race_indexes)
self.overtakeAnalysis(racesToAnalyse)
def listWetWeatherRacesSince(self, firstYear: int):
dataHandler: Main.DataHandlingPackage = self.DataHandlingPackage()
......@@ -36,14 +36,14 @@ class Main:
x = 0
# TODO: filter out dry races
def overtakeAnalysis(self, race_indexes: list[(int, int)]):
def overtakeAnalysis(self, raceSessionIdentifiers: list[SessionIdentifier]):
dataHandler: Main.DataHandlingPackage = self.DataHandlingPackage()
for race_index in race_indexes:
for raceSessionIdentifier in raceSessionIdentifiers:
# Import
raceSession = dataHandler.importer.importSession(race_index, "R")
raceSession = dataHandler.importer.importSession(raceSessionIdentifier)
raceName: str = f"{raceSession.event['EventName']} {raceSession.event.year}"
print("Import done")
......@@ -64,7 +64,7 @@ class Main:
# Print data
print(f"\n\n===== Data for race {race_index[0]}/{race_index[1]} =====")
print(f"\n\n===== Data for race {raceSessionIdentifier.event}/{raceSessionIdentifier.year} =====")
print("Lap\tOvertakes")
currentLap = 0
for overtakesInLap in overtakesInRaces:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment