fix circular import errors so the server and start again
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from server.GameBoard import GameBoard
|
||||
|
||||
from server.dataset.Dataset import Dataset
|
||||
from server.GameBoard import GameBoard
|
||||
from server.Files import save_file
|
||||
|
||||
import aiofiles
|
||||
@@ -21,7 +25,7 @@ class LocalStorage:
|
||||
self.dataset_compress_rotated = os.getenv("DATASET_COMPRESS_ROTATED", "true").strip().lower() in ("1", "true", "yes", "on")
|
||||
self.dataset_max_bytes = int(float(os.getenv("DATASET_JSONL_MAX_MB", "50")) * 1024 * 1024)
|
||||
|
||||
def _get_active_dataset_path(self, game_board:GameBoard):
|
||||
def _get_active_dataset_path(self, game_board:'GameBoard'):
|
||||
if not self.dataset_rotate_daily:
|
||||
return self.dataset_jsonl_path
|
||||
|
||||
@@ -60,7 +64,7 @@ class LocalStorage:
|
||||
|
||||
self._gzip_file(os.path.join(folder, name))
|
||||
|
||||
async def _rotate_if_needed(self, active_path:str, game_board:GameBoard):
|
||||
async def _rotate_if_needed(self, active_path:str, game_board:'GameBoard'):
|
||||
if self.dataset_max_bytes <= 0:
|
||||
return
|
||||
if not await aiofiles.os.path.exists(active_path):
|
||||
@@ -81,7 +85,7 @@ class LocalStorage:
|
||||
if self.dataset_compress_rotated:
|
||||
self._gzip_file(rotated_path)
|
||||
|
||||
def _build_dataset_rows(self, dataset_payload:dict, game_board:GameBoard):
|
||||
def _build_dataset_rows(self, dataset_payload:dict, game_board:'GameBoard'):
|
||||
game_info = dataset_payload.get("game", {})
|
||||
snake_info = dataset_payload.get("snake", {})
|
||||
|
||||
@@ -102,7 +106,7 @@ class LocalStorage:
|
||||
})
|
||||
return rows
|
||||
|
||||
async def _append_dataset_jsonl(self, dataset_payload:dict, game_board:GameBoard):
|
||||
async def _append_dataset_jsonl(self, dataset_payload:dict, game_board:'GameBoard'):
|
||||
rows = self._build_dataset_rows(dataset_payload, game_board)
|
||||
if len(rows) == 0:
|
||||
return
|
||||
@@ -116,7 +120,7 @@ class LocalStorage:
|
||||
for row in rows:
|
||||
await f.write(json.dumps(row, ensure_ascii=False) + "\n")
|
||||
|
||||
def _get_correct_folder_for_save_file(self, game_board:GameBoard, file_name:str, game_type:str, leader_board:bool, winner:bool):
|
||||
def _get_correct_folder_for_save_file(self, game_board:'GameBoard', file_name:str, game_type:str, leader_board:bool, winner:bool):
|
||||
storage_folder = self.file_path
|
||||
if leader_board:
|
||||
storage_folder = os.path.join(storage_folder, "00_Leaderboards")
|
||||
@@ -136,7 +140,7 @@ class LocalStorage:
|
||||
|
||||
return os.path.join(storage_folder, file_name)
|
||||
|
||||
async def save(self, game_board:GameBoard):
|
||||
async def save(self, game_board:'GameBoard'):
|
||||
game_type = game_board.get_type_of_game()
|
||||
dataset = Dataset(game_board).build(only_good_moves=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user