def file_data_reply(self, path, reply): reply["from"] = path qf = QFile(path) ret = qf.open(QIODevice.ReadOnly) reply["file_size"] = qf.size() reply["current"] += 1 offset = 0 while ret: bin_data = qf.readData(4096) data_len = len(bin_data) reply["size"] = data_len reply["offset"] = offset self.hw_cmd_binary_reply(reply, bin_data) offset += data_len if data_len < 4096: return self.hw_cmd_binary_reply(reply, None)