diff --git a/new_partition/interface_partition.py b/new_partition/interface_partition.py index 90f70dd..404d573 100755 --- a/new_partition/interface_partition.py +++ b/new_partition/interface_partition.py @@ -608,58 +608,58 @@ def del_msdos_partition(partition,dev): base_unit p_d.delete_one_partition(p_d.Partition.dict, dev, next_partition) for p in p_d.sort_partitions(p_d.Partition.dict, dev, "all"): - p_num = p_d.Partition.dict[dev]['partition'][p]['num'] if p_d.Partition.dict[dev]['partition'][p]['sn'] > partition_sn + 1: p_d.Partition.dict[dev]['partition'][p]['sn'] -= 2 - if p_num > partition_num and not re.search('free', p): - p_num -= 1 - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['num'] = \ - p_num - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['sn'] = \ - p_d.Partition.dict[dev]['partition'][p]['sn'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['start'] = \ - p_d.Partition.dict[dev]['partition'][p]['start'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['end'] = \ - p_d.Partition.dict[dev]['partition'][p]['end'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['size'] = \ - p_d.Partition.dict[dev]['partition'][p]['size'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['type'] = \ - p_d.Partition.dict[dev]['partition'][p]['type'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['filesystem'] = \ - p_d.Partition.dict[dev]['partition'][p]['filesystem'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['flags'] = \ - p_d.Partition.dict[dev]['partition'][p]['flags'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['from_os'] = \ - p_d.Partition.dict[dev]['partition'][p]['from_os'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['mount_point'] = \ - p_d.Partition.dict[dev]['partition'][p]['mount_point'] - p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['format'] = \ - p_d.Partition.dict[dev]['partition'][p]['format'] - if re.search('free',p): - p_num -= 1 - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['num'] = \ - p_num - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['sn'] = \ - p_d.Partition.dict[dev]['partition'][p]['sn'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['start'] = \ - p_d.Partition.dict[dev]['partition'][p]['start'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['end'] = \ - p_d.Partition.dict[dev]['partition'][p]['end'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['size'] = \ - p_d.Partition.dict[dev]['partition'][p]['size'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['filesystem'] = \ - p_d.Partition.dict[dev]['partition'][p]['filesystem'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['type'] = \ - p_d.Partition.dict[dev]['partition'][p]['type'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['flags'] = \ - p_d.Partition.dict[dev]['partition'][p]['flags'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['from_os'] = \ - p_d.Partition.dict[dev]['partition'][p]['from_os'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['format'] = \ - p_d.Partition.dict[dev]['partition'][p]['format'] - p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['mount_point'] = \ - p_d.Partition.dict[dev]['partition'][p]['mount_point'] - + for p in p_d.sort_partitions(p_d.Partition.dict, dev, "all"): + p_num = p_d.Partition.dict[dev]['partition'][p]['num'] + if p_num > partition_num and not re.search('free', p): + p_num -= 1 + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['num'] = \ + p_num + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['sn'] = \ + p_d.Partition.dict[dev]['partition'][p]['sn'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['start'] = \ + p_d.Partition.dict[dev]['partition'][p]['start'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['end'] = \ + p_d.Partition.dict[dev]['partition'][p]['end'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['size'] = \ + p_d.Partition.dict[dev]['partition'][p]['size'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['type'] = \ + p_d.Partition.dict[dev]['partition'][p]['type'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['filesystem'] = \ + p_d.Partition.dict[dev]['partition'][p]['filesystem'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['flags'] = \ + p_d.Partition.dict[dev]['partition'][p]['flags'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['from_os'] = \ + p_d.Partition.dict[dev]['partition'][p]['from_os'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['mount_point'] = \ + p_d.Partition.dict[dev]['partition'][p]['mount_point'] + p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num)]['format'] = \ + p_d.Partition.dict[dev]['partition'][p]['format'] + if p_num > partition_num and re.search('free',p): + p_num -= 1 + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['num'] = \ + p_num + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['sn'] = \ + p_d.Partition.dict[dev]['partition'][p]['sn'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['start'] = \ + p_d.Partition.dict[dev]['partition'][p]['start'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['end'] = \ + p_d.Partition.dict[dev]['partition'][p]['end'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['size'] = \ + p_d.Partition.dict[dev]['partition'][p]['size'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['filesystem'] = \ + p_d.Partition.dict[dev]['partition'][p]['filesystem'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['type'] = \ + p_d.Partition.dict[dev]['partition'][p]['type'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['flags'] = \ + p_d.Partition.dict[dev]['partition'][p]['flags'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['from_os'] = \ + p_d.Partition.dict[dev]['partition'][p]['from_os'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['format'] = \ + p_d.Partition.dict[dev]['partition'][p]['format'] + p_d.Partition.dict[dev]['partition']['free '+ str(p_num)]['mount_point'] = \ + p_d.Partition.dict[dev]['partition'][p]['mount_point'] p_num_max = 1 for p in p_d.sort_partitions(p_d.Partition.dict, dev, "partition"): if p_d.Partition.dict[dev]['partition'][p]['num'] > p_num_max: @@ -670,9 +670,8 @@ def del_msdos_partition(partition,dev): for f in p_d.sort_partitions(p_d.Partition.dict, dev, "free"): if p_d.Partition.dict[dev]['partition'][f]['num'] > f_num_max: f_num_max = p_d.Partition.dict[dev]['partition'][f]['num'] - if f_num_max > p_d.Partition.dict[dev]['partition'][next_partition]['num']: + if f_num_max > p_d.Partition.dict[dev]['partition'][pre_partition]['num']: p_d.delete_one_partition(p_d.Partition.dict, dev, 'free '+str(f_num_max)) - else: p_d.Partition.dict[dev]['partition'][next_partition]['start'] = partition_start p_d.Partition.dict[dev]['partition'][next_partition]['sn'] = partition_sn @@ -831,6 +830,10 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['size'] = partition_size p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['type'] = '' p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['flags'] = '' + p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['mount_point'] = '' + p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['filesystem'] = 'Free Space' else: free_num_max = 1