reverted to older state to reintroduce louis changes

This commit is contained in:
simoncreates
2026-03-03 20:19:47 +01:00
parent 3c18b1746a
commit b9dd663113
+13 -2
View File
@@ -2,15 +2,16 @@ import random
import string import string
import time import time
from dataclasses import dataclass, field from dataclasses import dataclass, field
from datetime import datetime
from threading import Lock from threading import Lock
from typing import Optional from typing import Optional
import chess from chess_sim.game_board import ChessBoard, Outcome, Color
from chess_sim.game_board import ChessBoard, Color, Outcome
from flask_login import current_user from flask_login import current_user
from flask import request from flask import request
from flask_socketio import emit, join_room, leave_room from flask_socketio import emit, join_room, leave_room
from app import sIO from app import sIO
from app.models.game import save_finished_game
from .types import validate_client_event from .types import validate_client_event
@@ -18,10 +19,12 @@ from .types import validate_client_event
class GameRoom: class GameRoom:
code: str code: str
p1_sid: str p1_sid: str
p1_user_id: int
p1_name: str p1_name: str
p1_pref: str p1_pref: str
time_mode: str time_mode: str
p2_sid: Optional[str] = None p2_sid: Optional[str] = None
p2_user_id: Optional[int] = None
p2_name: Optional[str] = None p2_name: Optional[str] = None
ready: dict[str, bool] = field(default_factory=dict) ready: dict[str, bool] = field(default_factory=dict)
board: ChessBoard = ChessBoard.init_default() board: ChessBoard = ChessBoard.init_default()
@@ -33,6 +36,10 @@ class GameRoom:
active_since: Optional[float] = None active_since: Optional[float] = None
game_active: bool = False game_active: bool = False
completed: bool = False completed: bool = False
move_history: list[str] = field(default_factory=list)
started_at: Optional[str] = None
ended_at: Optional[str] = None
saved_game_id: Optional[int] = None
games_by_code: dict[str, GameRoom] = {} games_by_code: dict[str, GameRoom] = {}
@@ -74,6 +81,10 @@ def _room_for_sid(sid: str) -> Optional[GameRoom]:
return games_by_code.get(code) return games_by_code.get(code)
def _timestamp_now() -> str:
return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
def _sid_for_color(room: GameRoom, color: str) -> Optional[str]: def _sid_for_color(room: GameRoom, color: str) -> Optional[str]:
for sid, c in room.color_by_sid.items(): for sid, c in room.color_by_sid.items():
if c == color: if c == color: