add env argument for StorageLoader to load correct module and use it when store game history is enabled

This commit is contained in:
2024-05-05 22:12:14 +02:00
parent 10c7f2656c
commit 7dd46dd72b
3 changed files with 12 additions and 3 deletions
+4 -3
View File
@@ -2,7 +2,7 @@ from server.Files import read_file
from server.GameBoard import GameBoard
from server.SnakeBuilder import SnakeBuilder
from statestorage.LocalStorage import LocalStorage
from statestorage.StorageLoader import StorageLoader
from flask import Flask
from flask import request
@@ -11,9 +11,10 @@ import logging, json, os, re
class Server:
default_snake_config = {"apiversion":"1","author":"","color":"#888888","head":"default","tail":"default"}
def __init__(self, data_path:str, snake_type:str, debug:bool=False, store_game_when_win_and_moves_are_bigger_as:int=10):
def __init__(self, data_path:str, snake_type:str, storage_type:str, debug:bool=False, store_game_when_win_and_moves_are_bigger_as:int=10):
self.debug = debug
self.snake_type = snake_type
self.storage_type = storage_type
self.config_file = os.path.join(data_path, 'data', 'snake-config.json')
self.data_path = data_path
@@ -135,7 +136,7 @@ class Server:
game_board = self._get_game_board(game_state, end=True)
if not game_board.get_winner() == "me" and not game_board.get_turn() <= self.store_game_when_win_and_moves_are_bigger_as:
game_board.save(
LocalStorage,
StorageLoader.build(self.storage_type),
file_path=os.path.join(self.data_path, 'data'),
)