def runTest(self): for f in ["boot", "root", "swap", "hidden", "raid", "lvm", "lba", "hp-service", "palo", "prep", "msftres", "bios_grub", "msftdata", "irst", "esp", "nonfs"]: self.assertNotEqual(_ped.partition_flag_get_by_name(f), "", "Could not get flag %s" % f) self.assertEqual(_ped.partition_flag_get_by_name("nosuchflag"), 0)
def runTest(self): for f in ["boot", "root", "swap", "hidden", "raid", "lvm", "lba", "hp-service", "palo", "prep", "msftres", "bios_grub", "msftdata", "irst", "esp"]: self.assertNotEqual(_ped.partition_flag_get_by_name(f), "", "Could not get flag %s" % f) self.assertEqual(_ped.partition_flag_get_by_name("nosuchflag"), 0)
def restore_from_file(self, disk): """ """ with open(self.file_path, 'r') as f: layout = list() partitions = cPickle.load(f) for p in partitions: geometry = parted.geometry.Geometry(device=disk.device, start=p.start, length=p.length, end=p.end) p_fs = None if p.fs is not None: p_fs = parted.filesystem.FileSystem(type = p.fs, geometry = geometry) partition = parted.partition.Partition(disk=disk, type=p.type, geometry=geometry, fs=p_fs) if p.flags != "swap" and p.flags != '': partition.setFlag(partition_flag_get_by_name(p.flags)) layout.append(partition) disk.deleteAllPartitions() constraint = parted.Constraint(device=disk.device) for p in layout: disk.addPartition(p, constraint) disk.commitToDevice() disk.commitToOS() self._wait_devices(disk)
def restore_from_file(self, disk, expand=False): """ """ #Desativa o alinhamento automatico disk.unsetFlag(parted.DISK_CYLINDER_ALIGNMENT) with open(self.file_path, 'r') as f: layout = list() partitions = cPickle.load(f) for p in partitions: geometry = parted.geometry.Geometry(device=disk.device, start=p.start, length=p.length, end=p.end) p_fs = None if p.fs is not None: p_fs = parted.filesystem.FileSystem(type = p.fs, geometry = geometry) partition = parted.partition.Partition(disk=disk, type=p.type, geometry=geometry, fs=p_fs) if p.flags != "swap" and p.flags != '': partition.setFlag(partition_flag_get_by_name(p.flags)) layout.append(partition) disk.deleteAllPartitions() constraint = parted.Constraint(device=disk.device) last_partition = len(layout) for n, p in enumerate(layout, 1): disk.addPartition(p, constraint) # Expand last partition if last_partition == n: if expand: if p.type == parted.PARTITION_NORMAL: max_geometry = disk.calculateMaxPartitionGeometry( p, constraint) new_geometry = parted.Geometry(geometry.device, start=geometry.start, end=max_geometry.end) result = disk.setPartitionGeometry(p, constraint, new_geometry.start, new_geometry.end) if not result: raise ExpandingPartitionError("Extending" + \ "partition failed.") disk.commitToDevice() disk.commitToOS() self._wait_devices(disk)
def restore_from_file(self, disk, expand=False): """ """ with open(self.file_path, 'r') as f: layout = list() partitions = cPickle.load(f) for p in partitions: geometry = parted.geometry.Geometry(device=disk.device, start=p.start, length=p.length, end=p.end) p_fs = None if p.fs is not None: p_fs = parted.filesystem.FileSystem(type=p.fs, geometry=geometry) partition = parted.partition.Partition(disk=disk, type=p.type, geometry=geometry, fs=p_fs) if p.flags != "swap" and p.flags != '': partition.setFlag(partition_flag_get_by_name(p.flags)) layout.append(partition) disk.deleteAllPartitions() constraint = parted.Constraint(device=disk.device) last_partition = len(layout) for n, p in enumerate(layout, 1): disk.addPartition(p, constraint) # Expand last partition if last_partition == n: if expand: if p.type == parted.PARTITION_NORMAL: max_geometry = disk.calculateMaxPartitionGeometry( p, constraint) new_geometry = parted.Geometry( geometry.device, start=geometry.start, end=max_geometry.end) result = disk.setPartitionGeometry( p, constraint, new_geometry.start, new_geometry.end) if not result: raise ExpandingPartitionError("Extending" + \ "partition failed.") disk.commitToDevice() disk.commitToOS() self._wait_devices(disk)