txlyre 1 day ago
parent
commit
f647690947
1 changed files with 4 additions and 7 deletions
  1. 4 7
      chess0.py

+ 4 - 7
chess0.py

@@ -51,14 +51,12 @@ class ChessSession:
         self.board.push(chess.Move.null())
         self.move_ts = time.time()
 
-    async def end(self):
-        await self.engine.quit()
-
 
 class ChessManager:
     def __init__(self, engine_path):
         self.engine_path = engine_path
 
+        self.engine = None
         self.sessions = {}
 
     async def cleanup(self):
@@ -75,9 +73,10 @@ class ChessManager:
         if id in self.sessions:
             await self.end(id)
 
-        _, engine = await chess.engine.popen_uci(self.engine_path)
+        if not self.engine:
+            _, self.engine = await chess.engine.popen_uci(self.engine_path)
 
-        self.sessions[id] = ChessSession(engine)
+        self.sessions[id] = ChessSession(self.engine)
 
     async def end(self, id):
         session = self.sessions.get(id)
@@ -86,8 +85,6 @@ class ChessManager:
 
         del self.sessions[id]
 
-        await session.end()
-
         return True
 
     async def move(self, id, move=None):