move snake builder into game_runtime.py to not pass it around very where

This commit is contained in:
2026-04-06 05:27:37 +02:00
parent 41f117e3a8
commit 5328252cf1
3 changed files with 20 additions and 28 deletions
+3 -16
View File
@@ -31,7 +31,6 @@ from server.services import (
DashboardQueryService,
)
class Server:
default_snake_config = {
'apiversion': '1',
@@ -97,7 +96,6 @@ class Server:
self._startup_worker_metrics_cleared = False
self.logger = build_logger('Battlesnake', debug_env_var='DEBUG_SERVER')
self.snake_builder = SnakeBuilder
self.snake_version = self._get_snake_version()
self.gameplay_database = None
if gameplay_db_enabled:
@@ -214,20 +212,9 @@ class Server:
def _get_snake_version(self) -> str:
configured_version = SnakeBuilder.get_version(self.snake_type)
if configured_version:
return configured_version
try:
snake = SnakeBuilder.build(self.snake_type)
except Exception:
if configured_version is None:
return self.default_snake_config['version']
version = getattr(snake, 'version', None)
if version is None:
version = getattr(snake, 'VERSION', None)
if not version:
return self.default_snake_config['version']
return str(version)
return str(configured_version)
def _get_stale_game_timeout_sec(self) -> int:
return max(30, env_int('SNAKE_STUCK_GAME_TIMEOUT_SEC', 180))
@@ -236,7 +223,7 @@ class Server:
self.store_game_state = True
def _cleanup_database(self):
storage = StorageLoader.build(self.storage_type)()
storage = StorageLoader.build(self.storage_type)
return storage.cleanup()
async def _on_dashboard_games_update_notice(self, trigger:str) -> None: