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
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)