def __handleData(self, data, addr): """ Handles received data :param data: Received data string :param addr: Remote address of received data :return: None """ # check for connect if data: if 'command' in data and 'commandArguments' in data: disconnect = False # handle build in commands if data['command'] == dataCommands.SYS_DISCONNECT: self.__sendSystemInfoData(data) disconnect = True elif data['command'] == dataCommands.SYS_GET_INFO: disconnect = not self.__server.send(data) elif data['command'] == dataCommands.SYS_SET_REQUIRED_DATA: self.__server.setRequiredData( data['commandArguments'] ) disconnect = not self.__sendSystemInfoData(data) # handle user command else: ret = NAOCommand.resolveCmd( data, self.__server, self.__session ) data = self.__server.createDataResponsePackage(data, ret) if self.__server.send(data): # also send system information disconnect = not self.__sendSystemInfoData(data) else: disconnect = True # handle protocol error else: logging.error( "Protocol error receiving %s", str(data) ) disconnect = not self.__sendSystemInfoData(data) # check if command was executed succesfuly if disconnect: logging.warning( "restarting server due to communication errors." ) self.__server.close(True)
def __handleData(self, data, addr): ''' Handles recieved data ''' # check for connect if data: if 'command' in data and 'commandArguments' in data: disconnect = False # handle build in commands if data['command'] == dataCommands.SYS_DISCONNECT: data = self.__server.createDataResponsePackage(data, True) self.__server.send(data); disconnect = True elif data['command'] == dataCommands.SYS_GET_INFO: data = self.__server.createDataResponsePackage(data, True) disconnect = not self.__server.send(data) elif data['command'] == dataCommands.SYS_SET_REQUIRED_DATA: self.__server.setRequiredData( data['commandArguments'] ) data = self.__server.createDataResponsePackage(data, True) disconnect = not self.__server.send(data) # handle user else: ret = NAOCommand.resolveCmd( data, self.__server ) data = self.__server.createDataResponsePackage(data, ret) disconnect = not self.__server.send(data) # handle protocol error else: data = self.__server.createDataResponsePackage(data, False) disconnect = not self.__server.send(data) # check if command was successfully executed if disconnect: self.__server.close(True)
def __handleData(self, data, addr): """ Handles recieved data """ # check for connect if data: if "command" in data and "commandArguments" in data: disconnect = False # handle build in commands if data["command"] == dataCommands.SYS_DISCONNECT: data = self.__server.createDataResponsePackage(data, True) self.__server.send(data) disconnect = True elif data["command"] == dataCommands.SYS_GET_INFO: data = self.__server.createDataResponsePackage(data, True) disconnect = not self.__server.send(data) elif data["command"] == dataCommands.SYS_SET_REQUIRED_DATA: self.__server.setRequiredData(data["commandArguments"]) data = self.__server.createDataResponsePackage(data, True) disconnect = not self.__server.send(data) # handle user else: ret = NAOCommand.resolveCmd(data, self.__server) data = self.__server.createDataResponsePackage(data, ret) disconnect = not self.__server.send(data) # handle protocol error else: data = self.__server.createDataResponsePackage(data, False) disconnect = not self.__server.send(data) # check if command was successfully executed if disconnect: self.__server.close(True)