def start(self): self.sync.start() while 1 and self.connected: data = self.sock.recv() try: if data[1] in self.routes: self.routes[data[1]].run(data[0], self) except Exception as e: if not is_socket_related_error(e): capture_trace() break
def sock_handler(sock, routes, handler): while 1: try: data = sock.recv() if data[1] in routes: routes[data[1]].run(data[0], handler) except (OSError, socket.error, Exception) as e: if str(e) != "[Errno 9] Bad file descriptor": capture_trace() handler.invoke_disconnect() break
def convert_data(data, data_type): try: if data_type == DataTypes.str: data = data.decode() elif data_type == DataTypes.int: data = int(data.decode()) elif data_type == DataTypes.float: data = float(data.decode()) elif data_type == DataTypes.json: data = json.loads(data.decode()) except Exception: capture_trace() raise ConvertFailedError() return data
def print_trace(self, sock): Logging.error("An unhandled exception forced the controller for '%s:%d' to terminate." % (sock.address, sock.port)) capture_trace()