def _gather_mount_info(self): """Gather info about mount points.""" selected_disks = self._disk_select_proxy.SelectedDisks requests = MountPointRequest.from_structure_list( self._manual_part_proxy.Requests) mount_info = [] for device in self.storage.devicetree.leaves: # Is the device usable? if device.protected or device.size == Size(0): continue # All device's disks have to be in selected disks. device_disks = {d.name for d in device.disks} if selected_disks and not set(selected_disks).issuperset( device_disks): continue # Append new info about this device. request = self._get_mount_point_request(device, requests) mount_info.append((device, request)) # Use the data only once. if request in requests: requests.remove(request) return mount_info
def SetRequests(self, requests: List[Structure]): """Set the mount point requests. :param requests: a list of requests """ self.implementation.set_requests( MountPointRequest.from_structure_list(requests))
def configure_storage(storage, data=None, interactive=False): """Setup storage state from the kickstart data. :param storage: an instance of the Blivet's storage object :param data: an instance of kickstart data or None :param interactive: use a task for the interactive partitioning """ auto_part_proxy = STORAGE.get_proxy(AUTO_PARTITIONING) manual_part_proxy = STORAGE.get_proxy(MANUAL_PARTITIONING) if interactive: task = InteractivePartitioningTask(storage) elif auto_part_proxy.Enabled: request = PartitioningRequest.from_structure(auto_part_proxy.Request) task = AutomaticPartitioningTask(storage, request) elif manual_part_proxy.Enabled: requests = MountPointRequest.from_structure_list(manual_part_proxy.Requests) task = ManualPartitioningTask(storage, requests) else: task = CustomPartitioningTask(storage, data) task.run()
def _gather_requests(self): """Gather info about mount points.""" return MountPointRequest.from_structure_list( self._partitioning.GatherRequests())