From 38ba576de9e5df246b4246f7c2cc9a1300ac3a6e Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Mon, 15 Apr 2024 03:29:20 +0200 Subject: [PATCH] add .env var to set no save when win and turns are less or the same as the var --- main.py | 3 ++- server/Server.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 801858b..491ea0b 100755 --- a/main.py +++ b/main.py @@ -19,11 +19,12 @@ import os # Start server when `python main.py` is run if __name__ == "__main__": - CreateEnvironmentFile.load_dotenv({"STORE_GAME_HISTORY": True, "DEBUG": True, "SNAKE": "DummSnake"}) + CreateEnvironmentFile.load_dotenv({"STORE_GAME_HISTORY": True, "DEBUG": True, "SNAKE": "DummSnake", "STORE_IF_WIN_AND_MOVES_ARE_BIGGER_AS": 10}) server = Server( data_path=os.path.dirname(__file__), snake_type=os.environ.get("SNAKE", "DummSnake"), + store_game_when_win_and_moves_are_bigger_as=int(os.environ.get("STORE_IF_WIN_AND_MOVES_ARE_BIGGER_AS", 10)) ) if os.environ.get("STORE_GAME_HISTORY", None): diff --git a/server/Server.py b/server/Server.py index 6c0fb8f..0d4e28f 100644 --- a/server/Server.py +++ b/server/Server.py @@ -11,7 +11,7 @@ import logging, json, os 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): + def __init__(self, data_path:str, snake_type:str, debug:bool=False, store_game_when_win_and_moves_are_bigger_as:int=10): self.debug = debug self.snake_type = snake_type @@ -19,6 +19,8 @@ class Server: self.data_path = data_path self.store_game_state = False + self.store_game_when_win_and_moves_are_bigger_as = store_game_when_win_and_moves_are_bigger_as + self.running_games:dict[str, GameStorage] = {} self.running_snake:dict[str, TemplateSnake] = {} @@ -79,7 +81,11 @@ class Server: # start is called when your Battlesnake begins a game def _start(self, game_state:dict): if self.store_game_state: - self.running_games[game_state["game"]["id"]] = GameStorage(self.snake_type, path=os.path.join(self.data_path, 'data', 'history')) + self.running_games[game_state["game"]["id"]] = GameStorage( + self.snake_type, + path=os.path.join(self.data_path, 'data', 'history'), + no_store_turns=self.store_game_when_win_and_moves_are_bigger_as + ) self.running_games[game_state["game"]["id"]].start_new_game(game_state["game"], game_state["board"], game_state["you"]) self.running_snake[game_state["game"]["id"]] = SnakeBuilder.build(self.snake_type)