码迷,mamicode.com
首页 > 其他好文 > 详细

server端操作

时间:2017-09-30 21:00:26      阅读:218      评论:0      收藏:0      [点我收藏+]

标签: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",
}

 

技术分享

技术分享

 

技术分享

 

server端操作

标签:elf   详细信息   obj   技术分享   objects   osi   mem   ima   def   

原文地址:http://www.cnblogs.com/1204guo/p/7615761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!