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"] = {}
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")
for k, v in self.sockets.items():
await v.send_json({"message": "nudes"})
await self.send_state(clientid)
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):
with open(self.filename, "w") as f:
json.dump(self.model, f)
@ -61,16 +66,18 @@ class Model:
self.model["clients"][clientname] = newclient
return clientname
def create_session(self) -> str:
def create_session(self, clientid) -> str:
sessionname = generate_random_id()
newsession = {"id": sessionname, "clients": []}
newsession = {"id": sessionname, "owner": clientid, "clients": []}
self.model["sessions"][sessionname] = newsession
return sessionname
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):
for k,v in self.sockets.items():
if v == socket:
self.sockets.pop(k)
for client in self.sockets:
if socket in self.sockets[client]:
self.sockets[client].remove(socket)

1
tehmodel.json Normal file
View File

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