def recognize_chunk(message): try: if not session.get("connected", False): emit('server_error', {"status": "error", "message": "No worker available"}) return results = session["worker"].recognize_chunk(message["chunk"], message["frame_rate"]) for result in results: emit('result', result) except WorkerInternalError: emit('server_error', {"status": "error", "message": "Internal error"}) session["worker"].close() del session["worker"]
def change_lm(message): try: if not session.get("connected", False): emit('server_error', {"status": "error", "message": "No worker available"}) return results = session["worker"].change_lm(str(message["new_lm"])) for result in results: emit('result', result) except WorkerInternalError: emit('server_error', {"status": "error", "message": "Internal error"}) session["worker"].close() del session["worker"]
def end_recognition(message): if not session.get("connected", False): emit('server_error', {"status": "error", "message": "No worker available"}) return results = session["worker"].end_recognition() for result in results: emit('result', result) emit('end', results[-1]) session["worker"].close() session["connected"] = False del session["worker"]
def test_message(message): session['receive_count'] = session.get('receive_count', 0) + 1 emit('my response', {'data': message['data', 'count': session['receive_count']}) @socketio.on('my broadcast event', namespace="/test") def test_message(message): emit('my response', {'data': message['data']}, broadcast=True) @socketio.on('connect', namespace="/test") def test_connect(): emit('my response', {'data':'connected'}) @socketio.on('disconnect', namespace="/test") def test_diconnect(): print('Client disconnected') if __name__ == "__main__": socketio.run(app)