Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
DataImporter.py 1.27 KiB
import fastf1
from abc import ABC

from fastf1.core import Session
from fastf1.events import EventSchedule, Event

from DataHandler import DataHandler, SessionIdentifier


class DataImporter(DataHandler, ABC):

    def importAllEventsFromYear(self, year: int):
        races: list[Event] = []

        schedule: EventSchedule = fastf1.get_event_schedule(year, include_testing = False)

        for raceIndex in schedule['RoundNumber']:
            races.append(schedule.get_event_by_round(raceIndex))

        return races

    def importRaceWeather(self):
        x = 0


    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, laps, weather, messages, telemetry))
        return sessions


    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