def _listener_handler(self, data): res = None try: port, freePort = self.port_manager.request_port() clientManager = None def terminateClient(): nonlocal clientManager nonlocal freePort freePort() self._client_managers.remove(clientManager) clientManager = ClientManager(port, terminateClient, data) clientManager.start() self._client_managers.append( clientManager ) res = Response(ResponseTypes.accept, { "port": port, "data": clientManager.initialResponse }) except Exception as err: res = Response(ResponseTypes.reject, { "message": str(err) }) return res.toDict()
def _listener_handler(self, data): switcher = {} switcher[ClientApis.tie_break.value] = self._tie_break_handler switcher[ClientApis.bet.value] = self._bet_handler switcher[ClientApis.play_again.value] = self._play_again_handler res = None handler = switcher.get(data["api"]) resData = handler(data["data"]) res = Response(ResponseTypes.accept, resData) # try: # except Exception as err: # res = Response(ResponseTypes.reject, { # "message": str(err) # }) return res.toDict()