Получение значения Dict из одного и того же источника в разное время и сравнение их - PullRequest
0 голосов
/ 29 декабря 2018

Я работаю над плагином ceph mgr.У меня есть диктат, который я получаю от self.get('health').Ключи и значения в dict меняются в зависимости от работоспособности системы.

Чего я хочу добиться - это написать на python функцию, которая получает значение self.get('health') каждую 1 минуту, и сравнивать ее спредыдущее значение, т.е. oldDictValue по сравнению с newDictValue, где newDictValue - это значение dict, полученное через 1 минуту.

oldDictValue и newDictValue - переменные, содержащие значения из self.get('health') в разное время.

1 Ответ

0 голосов
/ 29 декабря 2018

Вот предложенный псевдокод для того, чего я хочу достичь.Мне трудно преобразовать это в рабочее решение

```  
   fun diff_health(old_health, new_health):
       old = {}
       new = {}
       updated = {}
      for code, item in new_health['checks'].iteritems():
          if code not in old_health['checks']:
              # it's a new alert
              new[code] = item
          else:
             old_item = old_health['checks'][code]
        if item['severity'] != old_item['severity'] or item['summary']['message']    != old_item['usmmary']['message']:
            # changed
            updated[code] = item
       for code, item in old_health['checks'].iteritems():
           if code not in new_health['checks']:
             # health alert has resolved
        ...
      return old, new, updated
```

new_health и old_health - значения от self.get('heatth') в разные времена

...