Enable session switching

This commit is contained in:
Dominic Zimmer 2020-04-17 02:17:02 +02:00
parent a4a776d2fb
commit 0f23259e04

View File

@ -59,8 +59,13 @@ class Model(object):
@ApiMethod @ApiMethod
async def join_session(self, clientid, sessionid): async def join_session(self, clientid, sessionid):
if sessionid in self.model["sessions"]: 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["sessions"][sessionid]["clients"].append(clientid)
self.model["cliens"][clientid]["session"] = sessionid self.model["clients"][clientid]["session"] = sessionid
await self.send_state(clientid) await self.send_state(clientid)
else: else:
raise Exception(f"Session {sessionid} does not exist") raise Exception(f"Session {sessionid} does not exist")
@ -68,8 +73,8 @@ class Model(object):
async def send_state(self, clientid): async def send_state(self, clientid):
# TODO: compute state, send to client # TODO: compute state, send to client
session = "deine mudda" session = "deine mudda"
if "session" in self.model["cliens"][clientid]: if "session" in self.model["clients"][clientid]:
session = self.model["cliens"][clientid]["session"] session = self.model["clients"][clientid]["session"]
data = {"session": session} data = {"session": session}
for socket in self.sockets[clientid]: for socket in self.sockets[clientid]:
await socket.send_json(data) await socket.send_json(data)