More views

This commit is contained in:
Dominic Zimmer 2020-04-17 00:58:32 +02:00
parent fc233deb7e
commit 05c472a3de
3 changed files with 18 additions and 9 deletions

View File

@ -0,0 +1 @@
{"clients": {"hrp7wawucurqzzap": {"id": "hrp7wawucurqzzap"}}, "sessions": {}}

View File

@ -34,12 +34,17 @@ class Model:
self.model["sessions"] = {} self.model["sessions"] = {}
async def handle_post(self, clientid, data): async def handle_post(self, clientid, data):
print("I have received P O S T data: " + str(data)) print(f"I have received P O S T data: {data} from {clientid}")
print("let me tell everyone") print("let me tell everyone")
for k, v in self.sockets.items(): await self.send_state(clientid)
await v.send_json({"message": "nudes"})
return True return True
async def send_state(self, clientid):
# TODO: compute state, send to client
data = {"message": "nudes"}
for socket in self.sockets[clientid]
socket.send_json(data)
def save(self): def save(self):
with open(self.filename, "w") as f: with open(self.filename, "w") as f:
json.dump(self.model, f) json.dump(self.model, f)
@ -61,16 +66,18 @@ class Model:
self.model["clients"][clientname] = newclient self.model["clients"][clientname] = newclient
return clientname return clientname
def create_session(self) -> str: def create_session(self, clientid) -> str:
sessionname = generate_random_id() sessionname = generate_random_id()
newsession = {"id": sessionname, "clients": []} newsession = {"id": sessionname, "owner": clientid, "clients": []}
self.model["sessions"][sessionname] = newsession self.model["sessions"][sessionname] = newsession
return sessionname return sessionname
def subscribe(self, clientid, socket): def subscribe(self, clientid, socket):
self.sockets[clientid] = socket if not clientid in self.sockets:
self.sockets[clientid] = []
self.sockets[clientid].append(socket)
def unsubscribe(self, socket): def unsubscribe(self, socket):
for k,v in self.sockets.items(): for client in self.sockets:
if v == socket: if socket in self.sockets[client]:
self.sockets.pop(k) self.sockets[client].remove(socket)

1
tehmodel.json Normal file
View File

@ -0,0 +1 @@
{"clients": {"hrp7wawucurqzzap": {"id": "hrp7wawucurqzzap"}}, "sessions": {}}