venture/src/__init__.py
2023-01-31 16:34:39 -06:00

42 lines
1.0 KiB
Python

from flask import Flask, render_template, request
from flask_socketio import SocketIO, emit, join_room, rooms
from src.code import make_code
from src.game import Game
games = {}
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app, cors_allowed_origins="*")
if __name__ == '__main__':
socketio.run(app)
def with_game(listener):
global games
room = rooms()[1]
game = games[room]
def inner(event, data={}):
data['game'] = game
listener(game, data)
return inner
@socketio.on('new-game')
def on_newgame():
data = {}
code = make_code()
games[code] = Game(code)
join_room(code)
emit('set-code', {'code': code})
@socketio.on('contestant-join')
def on_join_contestant(data):
sid = request.sid
signature = data['signature']
room = data['room']
join_room(room)
games[room].add_contestant(sid, signature)
emit('contestant-joined', {'sid': sid, 'signature': signature }, to=room)