39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
""" FastestLap class """
|
|
|
|
import datetime
|
|
from dataclasses import dataclass
|
|
|
|
from ergast_py.models.average_speed import AverageSpeed
|
|
|
|
|
|
@dataclass
|
|
class FastestLap():
|
|
"""
|
|
Representation of a Fastest Lap for a Formula One Driver
|
|
|
|
Fastest Laps may contain:
|
|
rank: Integer
|
|
lap: Integer
|
|
time: datetime.time
|
|
average_speed: AverageSpeed
|
|
"""
|
|
|
|
def __init__(self, rank: int, lap: int, time: datetime.time,
|
|
average_speed: AverageSpeed) -> None:
|
|
self.rank = rank
|
|
self.lap = lap
|
|
self.time = time
|
|
self.average_speed = average_speed
|
|
|
|
def __repr__(self) -> str:
|
|
members = ', '.join(f"{key}={value}" for key, value in self.__dict__.items())
|
|
return f"{type(self).__name__}({members})"
|
|
|
|
def __eq__(self, __o: object) -> bool:
|
|
return isinstance(__o, FastestLap) and (
|
|
self.rank == __o.rank and
|
|
self.lap == __o.lap and
|
|
self.time == __o.time and
|
|
self.average_speed == __o.average_speed
|
|
)
|