From a3d234a7546abf3a84f14bfbaf0a28cbbc2d16ff Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Sun, 3 Mar 2024 02:33:21 +0100 Subject: [PATCH] Add standing diff to stats page --- formula10/domain/points_model.py | 25 +++++++++++++++++++++++-- formula10/templates/statistics.jinja | 4 ++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/formula10/domain/points_model.py b/formula10/domain/points_model.py index b81f031..5ca0498 100644 --- a/formula10/domain/points_model.py +++ b/formula10/domain/points_model.py @@ -43,7 +43,7 @@ DRIVER_RACE_POINTS: Dict[int, int] = { 10: 1 } -STANDING_2023: Dict[str, int] = { +WDC_STANDING_2023: Dict[str, int] = { "Max Verstappen": 1, "Sergio Perez": 2, "Lewis Hamilton": 3, @@ -66,6 +66,19 @@ STANDING_2023: Dict[str, int] = { "Logan Sargeant": 21 } +WCC_STANDING_2023: Dict[str, int] = { + "Red Bull": 1, + "Mercedes": 2, + "Ferrari": 3, + "McLaren": 4, + "Aston Martin": 5, + "Alpine": 6, + "Williams": 7, + "VCARB": 8, + "Sauber": 9, + "Haas": 10 +} + def standing_points(race_guess: RaceGuess, race_result: RaceResult) -> int: guessed_driver_position: int | None = race_result.driver_standing_position(driver=race_guess.pxx_guess) if guessed_driver_position is None: @@ -166,7 +179,15 @@ class PointsModel(Model): diff: Dict[str, int] = dict() for driver in self.all_drivers(include_none=False): - diff[driver.name] = STANDING_2023[driver.name] - self.wdc_standing_by_driver()[driver.name] + diff[driver.name] = WDC_STANDING_2023[driver.name] - self.wdc_standing_by_driver()[driver.name] + + return diff + + def wcc_diff_2023(self) -> Dict[str, int]: + diff: Dict[str, int] = dict() + + for team in self.all_teams(include_none=False): + diff[team.name] = WCC_STANDING_2023[team.name] - self.wcc_standing_by_team()[team.name] return diff diff --git a/formula10/templates/statistics.jinja b/formula10/templates/statistics.jinja index 99222d2..a2e2773 100644 --- a/formula10/templates/statistics.jinja +++ b/formula10/templates/statistics.jinja @@ -32,6 +32,7 @@ Driver Points DNFs + Place Delta @@ -43,6 +44,7 @@ {{ driver.name }} {{ points.wdc_points()[driver.name] }} {{ points.dnfs()[driver.name] }} + {{ "%+d" % points.wdc_diff_2023()[driver.name] }} {% endfor %} @@ -64,6 +66,7 @@ Place Team Points + Place Delta @@ -74,6 +77,7 @@ {{ team_standing }} {{ team.name }} {{ points.wcc_points()[team.name] }} + {{ points.wcc_diff_2023()[team.name] }} {% endfor %}