9.28-9.29 课程记录
来源:互联网 发布:mac 双定制粉底液 肤质 编辑:程序博客网 时间:2024/06/08 20:07
网卡插件
from repository import modelsclass Nic(object): def __init__(self, server_obj, info): self.server_obj = server_obj self.nic_dict = info def process(self): new_nic_info_dict = self.nic_dict['data'] old_disk_info_list = self.server_obj.nic.all() new_nic_name_set = set(new_nic_info_dict.keys()) old_nic_name_set = {nic.name for nic in old_disk_info_list} add_name_list = new_nic_name_set.difference(old_nic_name_set) print(add_name_list) del_name_list = old_nic_name_set.difference(new_nic_name_set) print(del_name_list) update_name_list = old_nic_name_set.intersection(new_nic_name_set) print(update_name_list) add_record_list = [] for name in add_name_list: nic_dick = new_nic_info_dict[name] tmp = '[%s]添加网卡:网卡名称[%s]' %(self.server_obj.hostname, name) add_record_list.append(tmp) nic_dick['server_obj'] = self.server_obj models.NIC.objects.create(**nic_dick) if add_record_list: models.ServerRecord.objects.create(server_obj=self.server_obj, content=';'.join(add_record_list)) del_record_list = [] models.NIC.objects.filter(server_obj=self.server_obj, name__in=del_name_list).delete() for name in del_name_list: tmp = '[%s]删除网卡:网卡名称[%s]' % (self.server_obj.hostname, name) del_record_list.append(tmp) if del_record_list: models.ServerRecord.objects.create(server_obj=self.server_obj, content=';'.join(del_record_list)) update_record_list = [] for name in update_name_list: tmp = '[%s]更新网卡:网卡名称[%s],' % (self.server_obj.hostname, name) nic_dict = new_nic_info_dict[name] obj = models.NIC.objects.filter(server_obj=self.server_obj, name=name).first() for k, new_val in nic_dict.items(): old_val = getattr(obj, k) if old_val != new_val: setattr(obj, k, new_val) tmp = tmp + '[%s]由[%s]更换为[%s]' % (k, old_val, new_val) obj.save() update_record_list.append(tmp) if update_record_list: models.ServerRecord.objects.create(server_obj=self.server_obj, content=';'.join(update_record_list))
阅读全文
0 0
- 9.28-9.29 课程记录
- 课程记录
- CSS课程记录
- javascript课程记录1
- MIT python课程记录
- 9.30 课程记录
- 课程项目的记录
- 【课程记录】:移动终端开发课程概要
- 程序设计实践课程记录1
- 程序设计实践课程记录2
- 程序设计实践课程记录3
- 程序设计实践课程记录5
- 程序设计实践课程记录6
- 程序设计实践课程记录7
- 0228UML应用TUP过程课程记录
- CS231n课程:反向传播学习记录
- 课程
- 课程
- 关于CSS的一些基础内容
- markdown 的简单使用
- 对朱刘算法求最小树形图的理解(uva11865)
- JZOJ 5267. 费马点问题
- bzoj 4530(DFS序+线段树合并)
- 9.28-9.29 课程记录
- 小薇学院任务一:零基础HTML编码(笔记)
- bzoj 1966: [Ahoi2005]VIRUS 病毒检测
- Python学习笔记:高阶函数(函数指针)与装饰器
- MySQL之DML语句(上)
- 梯度下降法的三种形式BGD、SGD以及MBGD
- BZOJ 2115 Xor 线性基介绍(高斯消元 xor线性基)
- AJAX提交到Handler.ashx一般处理程序返回json数据 (字符串拼接方式)
- 11、C#里面随机数的获取、取最大数的实例