aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2023-02-19 13:04:46 +0100
committerMartin Kagamino Lehoux <martin@lehoux.net>2023-02-19 13:04:58 +0100
commite59abd6bfb6d8bf9a3eec96e35e9c628fdb451c4 (patch)
tree06b133bfcee462a98171229d86736767feb53827
parent7200fcf3f4e4c22193b5b96452f9aa5131b1bc1c (diff)
refactor: Switch to isoformat
-rw-r--r--main.py38
-rw-r--r--src/ladder.py11
-rw-r--r--src/strategy.py7
3 files changed, 30 insertions, 26 deletions
diff --git a/main.py b/main.py
index 44e73e3..d20b825 100644
--- a/main.py
+++ b/main.py
@@ -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):