diff --git a/model.py b/model.py index a391ddc..a909508 100644 --- a/model.py +++ b/model.py @@ -59,8 +59,13 @@ class Model(object): @ApiMethod async def join_session(self, clientid, sessionid): if sessionid in self.model["sessions"]: + # remove old session + if "session" in self.model["clients"][clientid]: + oldsession = self.model["clients"][clientid]["session"] + self.model["sessions"][oldsession]["clients"].remove(clientid) + self.model["sessions"][sessionid]["clients"].append(clientid) - self.model["cliens"][clientid]["session"] = sessionid + self.model["clients"][clientid]["session"] = sessionid await self.send_state(clientid) else: raise Exception(f"Session {sessionid} does not exist") @@ -68,8 +73,8 @@ class Model(object): async def send_state(self, clientid): # TODO: compute state, send to client session = "deine mudda" - if "session" in self.model["cliens"][clientid]: - session = self.model["cliens"][clientid]["session"] + if "session" in self.model["clients"][clientid]: + session = self.model["clients"][clientid]["session"] data = {"session": session} for socket in self.sockets[clientid]: await socket.send_json(data)