Revision 4e679f11 lib/rpc.py

b/lib/rpc.py
638 638
  result = c.getresult()
639 639
  new_result = {}
640 640
  for node_name in result:
641
    nr = []
642 641
    if result[node_name]:
643
      for data in result[node_name]:
644
        if data:
645
          if isinstance(data, dict):
646
            nr.append(objects.OS.FromDict(data))
647
          elif isinstance(data, tuple) and len(data) == 3:
648
            nr.append(errors.InvalidOS(data[0], data[1], data[2]))
649
          else:
650
            raise errors.ProgrammerError("Invalid data from"
651
                                         " xcserver.os_diagnose")
642
      nr = [objects.OS.FromDict(oss) for oss in result[node_name]]
643
    else:
644
      nr = []
652 645
    new_result[node_name] = nr
653 646
  return new_result
654 647

  

Also available in: Unified diff