diff options
| -rw-r--r-- | main.py | 38 | ||||
| -rw-r--r-- | src/ladder.py | 11 | ||||
| -rw-r--r-- | src/strategy.py | 7 |
3 files changed, 30 insertions, 26 deletions
@@ -11,7 +11,7 @@ ladder.strategy = SimpleEloChangeStrategy() games: list[Game] = [ Game( - datetime(2022, 11, 11, 16, 30), + datetime.fromisoformat("2022-11-11 16:30"), { Player.Theo: 53, Player.Leila: 32, @@ -22,7 +22,7 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 11, 17, 0), + datetime.fromisoformat("2022-11-11 17:00"), { Player.Emma: 53, Player.Kim: 57, @@ -33,7 +33,7 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 11, 18, 45), + datetime.fromisoformat("2022-11-11 18:45"), { Player.Thomas: 58, Player.Baptiste: 45, @@ -44,7 +44,7 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 11, 21, 0), + datetime.fromisoformat("2022-11-11 21:00"), { Player.Kim: 50, Player.Theo: 50, @@ -55,7 +55,7 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 11, 21, 30), + datetime.fromisoformat("2022-11-11 21:30"), { Player.Kim: 41, Player.Leila: 32, @@ -67,15 +67,15 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 11, 22, 0), + datetime.fromisoformat("2022-11-11 22:00"), {Player.Clementine: 47, Player.Pierre: 46, Player.Theo: 57, Player.Emma: 42}, ), Game( - datetime(2022, 11, 11, 22, 32), + datetime.fromisoformat("2022-11-11 22:32"), {Player.Clementine: 43, Player.Pierre: 51, Player.Theo: 40, Player.Emma: 39}, ), Game( - datetime(2022, 11, 12, 12, 48), + datetime.fromisoformat("2022-11-12 12:48"), { Player.Pierre: 58, Player.Theo: 52, @@ -85,23 +85,23 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 12, 13, 18), + datetime.fromisoformat("2022-11-12 13:18"), {Player.Emma: 41, Player.Theo: 53, Player.Pierre: 44}, ), Game( - datetime(2022, 11, 12, 13, 47), + datetime.fromisoformat("2022-11-12 13:47"), {Player.Emma: 65, Player.Thomas: 59, Player.Pierre: 54}, ), Game( - datetime(2022, 11, 12, 14, 15), + datetime.fromisoformat("2022-11-12 14:15"), {Player.Pierre: 57, Player.Emma: 52, Player.Martin: 45, Player.Clementine: 47}, ), Game( - datetime(2022, 11, 12, 14, 47), + datetime.fromisoformat("2022-11-12 14:47"), {Player.Pierre: 51, Player.Emma: 47, Player.Clementine: 56}, ), Game( - datetime(2022, 11, 12, 19, 6), + datetime.fromisoformat("2022-11-12 19:06"), { Player.Clementine: 43, Player.Kim: 47, @@ -111,7 +111,7 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 13, 12, 31), + datetime.fromisoformat("2022-11-13 12:31"), { Player.Theo: 43, Player.Thomas: 37, @@ -121,7 +121,7 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 13, 12, 54), + datetime.fromisoformat("2022-11-13 12:54"), { Player.Tanguy: 54, Player.Clementine: 47, @@ -133,11 +133,11 @@ games: list[Game] = [ }, ), Game( - datetime(2022, 11, 13, 13, 25), + datetime.fromisoformat("2022-11-13 13:25"), {Player.Pierre: 52, Player.Emma: 68, Player.Clementine: 57}, ), Game( - datetime(2023, 1, 2, 10, 0), + datetime.fromisoformat("2023-01-02 10:00"), { Player.Felix: 34, Player.Frost: 64, @@ -147,11 +147,11 @@ games: list[Game] = [ }, ), Game( - datetime(2023, 1, 2, 10, 30), + datetime.fromisoformat("2023-01-02 10:30"), {Player.Felix: 64, Player.Frost: 55, Player.Thomas: 62, Player.Emma: 67}, ), Game( - datetime(2023, 2, 19, 12, 0), + datetime.fromisoformat("2023-02-19 12:00"), { Player.Thomas: 56, Player.Axel: 53, diff --git a/src/ladder.py b/src/ladder.py index 8603e9d..4ea87fa 100644 --- a/src/ladder.py +++ b/src/ladder.py @@ -1,11 +1,14 @@ from __future__ import annotations from dataclasses import dataclass -from datetime import datetime +from datetime import UTC, datetime +from typing import TYPE_CHECKING -from src.game import Game from src.player import Player -from src.strategy import GameEloChangeStrategy + +if TYPE_CHECKING: + from src.game import Game + from src.strategy import GameEloChangeStrategy @dataclass(frozen=True) @@ -46,7 +49,7 @@ class Ladder: return players_elo_updates def print_current(self): - print(f"Ladder ({datetime.now().strftime('%d/%m/%Y %H:%M')}):") + print(f"Ladder ({datetime.now(tz=UTC).strftime('%d/%m/%Y %H:%M')}):") print("=" * 30) for rank, player in enumerate( sorted(self.players.values(), key=lambda player: player.elo, reverse=True), diff --git a/src/strategy.py b/src/strategy.py index 6713299..1d30a55 100644 --- a/src/strategy.py +++ b/src/strategy.py @@ -1,7 +1,8 @@ -from typing import Protocol +from typing import TYPE_CHECKING, Protocol -from src.game import Game -from src.player import Player +if TYPE_CHECKING: + from src.game import Game + from src.player import Player class GameEloChangeStrategy(Protocol): |
