def on_partition_list_delete_activate(self, button): selection = self.partition_list.get_selection() if not selection: return model, tree_iter = selection.get_selected() if tree_iter == None: return # No es pot crear una taula de particions nova quan hi ha # particions actives. Les particions actives són aquelles # que s'estan utilitzant, com ara un sistema de fitxers muntat # o un espai d'intercanvi habilitat. # Utilitzeu les opcions del menú Partició, com ara «Desmunta» # o «Partició d'intercanvi inactiva», per desactivar totes # les particions d'aquest dispositiu abans de crear una taula # de particions nova. parent_iter = model.iter_parent(tree_iter) part_type = model[tree_iter][10] if part_type == pm.PARTITION_LOGICAL: parent_iter = model.iter_parent(parent_iter) disk_path = model[parent_iter][0] logical_partition = False row = model[tree_iter] size_available = row[6] partition_path = row[8] print("You will delete from disk [%s] partition [%s]" % (disk_path, partition_path)) if self.disks == None: # just call get_devices once self.disks = pm.get_devices() disk = self.disks[disk_path] partitions = pm.get_partitions(disk) part = partitions[partition_path] if pm.check_mounted(part): # Should we ask first? subp = subprocess.Popen(["umount", part.path], stdout=subprocess.PIPE) # Is it worth to show some warning message here? pm.delete_partition(disk, part) # Update treeview self.fill_partition_list()