Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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()