Add decor

This commit is contained in:
Dominic Zimmer 2020-04-17 01:35:35 +02:00
parent 3c852bcbd5
commit 21416bdc66

View File

@ -12,7 +12,17 @@ def generate_random_id(_s=set()):
return new_id
class Model:
class Model(object):
global api_methods
api_methods = {}
def api_method():
global api_methods
def wrapper(fun):
api_methods[fun.__name__] = fun
return wrapper
def __init__(self, filename = "tehmodel.json"):
self.sockets = {} # mapping: client -> socket
self.filename = filename
@ -33,11 +43,16 @@ class Model:
if not "sessions" in self.model:
self.model["sessions"] = {}
async def handle_post(self, clientid, data):
print(f"I have received P O S T data: {data} from {clientid}")
print("let me tell everyone")
await self.send_state(clientid)
return True
@api_method()
async def create_session(self, clientid) -> str:
sessionname = generate_random_id()
newsession = {"id": sessionname, "owner": clientid, "clients": []}
self.model["sessions"][sessionname] = newsession
return sessionname
@api_method()
async def join_session(self, clientid, sessionid):
self.model["sessions"][sessionid]
async def send_state(self, clientid):
# TODO: compute state, send to client
@ -66,12 +81,6 @@ class Model:
self.model["clients"][clientname] = newclient
return clientname
def create_session(self, clientid) -> str:
sessionname = generate_random_id()
newsession = {"id": sessionname, "owner": clientid, "clients": []}
self.model["sessions"][sessionname] = newsession
return sessionname
def subscribe(self, clientid, socket):
if not clientid in self.sockets:
self.sockets[clientid] = []