标签:elf 详细信息 obj 技术分享 objects osi mem ima def
from repository import models class Disk(object): def __init__(self,server_obj,info): self.server_obj=server_obj self.disk_dict=info def prcoess(self): new_disk_list = self.disk_dict[‘data‘] # new_disk_list = server_dict[‘disk‘][‘data‘] # print(new_disk_list) old_disk_list = models.Disk.objects.all() # print(old_disk_list) new_disk = set(new_disk_list.keys()) message = {} old_disk = {obj.slot for obj in old_disk_list} for obj in old_disk_list: message[obj.slot] = obj # print(message.keys()) # print(message) add_differences_disk = new_disk - old_disk temp = [] # 新的有,数据库没有 for i in add_differences_disk: values = new_disk_list[i] values[‘server_obj‘] =self. server_obj conent = "添加硬盘详细信息[%s]" % values temp.append(conent) models.Disk.objects.create(**values) if temp: models.ServerRecord.objects.create(server_obj=self.server_obj, content=‘;‘.join(temp)) # 删除硬盘 新的数据没有,数据库有 temp = [] del_differences_disk = old_disk - new_disk for i in del_differences_disk: k = message.get(i).values conent = "删除硬盘为[%s]" % k models.Disk.objects.filter(slot__in=i).delete() temp.append(conent) if temp: models.ServerRecord.objects.create(server_obj=self.server_obj, content=‘;‘.join(temp)) # 找到两个相同的id号 update_disk = new_disk & old_disk temp = [] for i in update_disk: new_values = new_disk_list[i] disk_f = models.Disk.objects.filter(slot=i).first() for i, new_values_new in new_values.items(): old_values = getattr(disk_f, i) if new_values_new != old_values: setattr(disk_f, i, new_values_new) conent = "[%s]的[%s]由[%s]更改为[%s]" % (self.server_obj, i, old_values, new_values_new) temp.append(conent) disk_f.save() if temp: models.ServerRecord.objects.create(server_obj=self.server_obj, content=‘;‘.join(temp))
PLUGIN_TIMES={ "nic": "api.plugins.nic.Nic", "disk": "api.plugins.disk.Disk", "memory": "api.plugins.memory.Memory", }
标签:elf 详细信息 obj 技术分享 objects osi mem ima def
原文地址:http://www.cnblogs.com/1204guo/p/7615761.html