code: def get_device_tree(self):
          
          root = DevNode(None, None, [], None)
          device_nodes = {
              dev.object_path: DevNode(dev, dev.parent_object_path, [],
                                       self._ignore_device(dev))
              for dev in self.udisks
          }
          for node in device_nodes.values():
              device_nodes.get(node.root, root).children.append(node)
          device_nodes['/'] = root
          for node in device_nodes.values():
              node.children.sort(key=DevNode._sort_key)
  
          # use parent as fallback, update top->down:
          def propagate_ignored(node):
              for child in node.children:
                  if child.ignored is None:
                      child.ignored = node.ignored
                  propagate_ignored(child)
          propagate_ignored(root)
          return device_nodes
docs: Get a tree of all devices.