diff --git a/new_partition/interface_partition.py b/new_partition/interface_partition.py index bcca0da..c1d4604 100755 --- a/new_partition/interface_partition.py +++ b/new_partition/interface_partition.py @@ -335,10 +335,15 @@ def add_partition(ptype='', extended='', label=''): #partition_start = free_space_start + base_unit partition_end = str(float(free_space_start) + size_set_num) + base_unit # 4k align - if float(free_space_start)/2048.0 == int(float(free_space_start)/2048.0) != 0: - partition_start = free_space_start + base_unit - else: - partition_start = str((int(float(free_space_start)/2048.0)+1)*2048) + base_unit + if float(free_space_start)/2048.0 == int(float(free_space_start)/2048.0) != 0: + partition_start = free_space_start + base_unit + else: + partition_start = str((int(float(free_space_start)/2048.0)+1)*2048) + base_unit + + if (float(free_space_start)+size_set_num+1)/2048.0 == int((float(free_space_start)+size_set_num+1)/2048.0) != 0: + pass + else: + partition_end = str((int(float(get_num(partition_end))/2048.0)+1)*2048-1) + base_unit flags = '' if cb_boot.value() == 1: @@ -360,6 +365,7 @@ def add_partition(ptype='', extended='', label=''): pass else: if ptype == 'logical': + partition_start = str(float(get_num(partition_start))+2048) + base_unit partition_num = 4 for p in list_partition_sorted: if int(p_d.Partition.dict[dev]['partition'][p]['num']) > partition_num \ @@ -377,10 +383,6 @@ def add_partition(ptype='', extended='', label=''): break partition_num += 1 - #if re.search('/cciss/',dev): - # partition = dev + 'p' + str(partition_num) - #else: - # partition = dev + str(partition_num) partition = pre_partition_name + str(partition_num) partition_sn = free_space_sn @@ -445,8 +447,13 @@ def add_partition(ptype='', extended='', label=''): p_d.Partition.dict[dev]['partition'][p]['end'] p_d.Partition.dict[dev]['partition']['free '+str(p_num+1)]['size'] =\ p_d.Partition.dict[dev]['partition'][p]['size'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num+1)]['filesystem'] =\ + p_d.Partition.dict[dev]['partition'][p]['filesystem'] p_d.Partition.dict[dev]['partition']['free '+str(p_num+1)]['type'] = '' p_d.Partition.dict[dev]['partition']['free '+str(p_num+1)]['flags'] = '' + p_d.Partition.dict[dev]['partition']['free '+str(p_num+1)]['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(p_num+1)]['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(p_num+1)]['mount_point'] = '' else: p_d.Partition.dict[dev]['partition'][p]['sn'] = p_d.Partition.dict[dev]['partition'][p]['sn']+1 @@ -460,11 +467,16 @@ def add_partition(ptype='', extended='', label=''): free_num += 1 p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['sn'] = int(partition_sn+1) p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['num'] = int(free_num) + #p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['start'] = str(float(get_num(partition_start))+2048) + base_unit p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['start'] = partition_start p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['end'] = partition_end p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['size'] = size_set + p_d.Partition.dict[dev]['partition']['free '+str(free_num)]['filesystem'] = 'Free Space' 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'] = '' if label == 'msdos' and re.search('boot', p_d.Partition.dict[dev]['partition'][partition]['flags']): for p in p_d.sort_partitions(p_d.Partition.dict,dev,'partition'): @@ -526,8 +538,12 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['start'] = p_start p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['end'] = p_end p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['size'] = p_size + p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['filesystem'] = 'Free Space' p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['type'] = '' p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['flags'] = '' + p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(p_num-del_free_count)]['mount_point'] = '' list_partition_all_sorted = p_d.sort_partitions(p_d.Partition.dict, dev, "all") for p in list_partition_all_sorted: @@ -597,10 +613,18 @@ def del_msdos_partition(partition,dev): 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"): @@ -634,6 +658,8 @@ def del_msdos_partition(partition,dev): 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)]['filesystem'] = \ + p_d.Partition.dict[dev]['partition'][p]['filesystem'] 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)]['flags'] = \ @@ -659,7 +685,7 @@ def del_msdos_partition(partition,dev): else: free_num = 0 list_free_sorted = p_d.sort_partitions(p_d.Partition.dict, dev, "free") - if p_d.Partition.dict[dev]['partition'][list_free_sorted[0]]['sn'] > partition_sn: + if list_free_sorted == [] or p_d.Partition.dict[dev]['partition'][list_free_sorted[0]]['sn'] > partition_sn: pass else: for i in range(len(list_free_sorted)): @@ -683,10 +709,18 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition'][f]['end'] p_d.Partition.dict[dev]['partition']['free '+str(f_num)]['size']= \ p_d.Partition.dict[dev]['partition'][f]['size'] + p_d.Partition.dict[dev]['partition']['free '+str(f_num)]['filesystem']= \ + p_d.Partition.dict[dev]['partition'][f]['filesystem'] p_d.Partition.dict[dev]['partition']['free '+str(f_num)]['type']= \ p_d.Partition.dict[dev]['partition'][f]['type'] p_d.Partition.dict[dev]['partition']['free '+str(f_num)]['flags']= \ p_d.Partition.dict[dev]['partition'][f]['flags'] + p_d.Partition.dict[dev]['partition']['free '+str(f_num)]['from_os']= \ + p_d.Partition.dict[dev]['partition'][f]['from_os'] + p_d.Partition.dict[dev]['partition']['free '+str(f_num)]['mount_point']= \ + p_d.Partition.dict[dev]['partition'][f]['mount_point'] + p_d.Partition.dict[dev]['partition']['free '+str(f_num)]['format']= \ + p_d.Partition.dict[dev]['partition'][f]['format'] for p in p_d.sort_partitions(p_d.Partition.dict, dev, "partition"): p_num = p_d.Partition.dict[dev]['partition'][p]['num'] if p_d.Partition.dict[dev]['partition'][p]['sn'] >partition_sn \ @@ -736,6 +770,12 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['start'] = partition_start p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['end'] = partition_end p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['size'] = partition_size + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['filesystem'] = 'Free Space' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['type'] = '' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['flag'] = '' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max)]['mount_point'] = '' else: if locals().has_key('pre_partition') and locals().has_key('next_partition'): @@ -751,27 +791,7 @@ def del_msdos_partition(partition,dev): float(get_num(partition_start))) + base_unit for p in p_d.sort_partitions(p_d.Partition.dict, dev, "all"): if p_d.Partition.dict[dev]['partition'][p]['sn'] > partition_sn: - #if not re.search('free', p): - # p_num = p_d.Partition.dict[dev]['partition'][p]['num'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['num']\ - # = p_num -1 - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['sn']\ - # = p_d.Partition.dict[dev]['partition'][p]['sn']-1 - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['start']\ - # = p_d.Partition.dict[dev]['partition'][p]['start'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['end']\ - # = p_d.Partition.dict[dev]['partition'][p]['end'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['size']\ - # = p_d.Partition.dict[dev]['partition'][p]['size'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['type']\ - # = p_d.Partition.dict[dev]['partition'][p]['type'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['flags']\ - # = p_d.Partition.dict[dev]['partition'][p]['flags'] - #else: p_d.Partition.dict[dev]['partition'][p]['sn'] -= 1 - #partition_last = p_d.sort_partitions(p_d.Partition.dict,dev,"partition")[::-1][0] - #if p_d.Partition.dict[dev]['partition'][partition_last]['sn'] > partition_sn: - # p_d.delete_one_partition(p_d.Partition.dict,dev,partition_last) else: p_d.Partition.dict[dev]['partition'][pre_partition]['end'] = \ @@ -794,10 +814,18 @@ def del_msdos_partition(partition,dev): = p_d.Partition.dict[dev]['partition'][p]['end'] p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['size']\ = p_d.Partition.dict[dev]['partition'][p]['size'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['filesystem']\ + = p_d.Partition.dict[dev]['partition'][p]['filesystem'] p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['type']\ = p_d.Partition.dict[dev]['partition'][p]['type'] p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['flags']\ = p_d.Partition.dict[dev]['partition'][p]['flags'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['from_os']\ + = p_d.Partition.dict[dev]['partition'][p]['from_os'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['format']\ + = p_d.Partition.dict[dev]['partition'][p]['format'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['mount_point']\ + = p_d.Partition.dict[dev]['partition'][p]['mount_point'] else: p_d.Partition.dict[dev]['partition'][p]['sn'] -= 2 if len(p_d.sort_partitions(p_d.Partition.dict, dev,"free")) > 1: @@ -824,10 +852,18 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['end'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['size'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['size'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['filesystem'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['filesystem'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['type'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['type'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['flags'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['flags'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['from_os'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['from_os'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['format'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['format'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['mount_point'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['mount_point'] if p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['sn'] < partition_sn: free_num_mid = p_d.Partition.dict[dev]['partition']['free '+str(i+1)]['num'] break @@ -836,8 +872,12 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['start'] = partition_start p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['end'] = partition_end p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['size'] = partition_size + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['filesystem'] = 'Free Space' p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['type'] = '' p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['flags'] = '' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['from_os'] = '' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['format'] = '' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['mount_point'] = '' else: p_d.Partition.dict[dev]['partition'][pre_partition]['end'] = partition_end p_d.Partition.dict[dev]['partition'][pre_partition]['size'] = \ @@ -846,26 +886,7 @@ def del_msdos_partition(partition,dev): base_unit for p in p_d.sort_partitions(p_d.Partition.dict, dev, "all"): if p_d.Partition.dict[dev]['partition'][p]['sn'] > partition_sn: - #if not re.search('free', p): - # p_num = p_d.Partition.dict[dev]['partition'][p]['num'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['num']\ - # = p_num -1 - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['sn']\ - # = p_d.Partition.dict[dev]['partition'][p]['sn']-1 - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['start']\ - # = p_d.Partition.dict[dev]['partition'][p]['start'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['end']\ - # = p_d.Partition.dict[dev]['partition'][p]['end'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['size']\ - # = p_d.Partition.dict[dev]['partition'][p]['size'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['type']\ - # = p_d.Partition.dict[dev]['partition'][p]['type'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['flags']\ - # = p_d.Partition.dict[dev]['partition'][p]['flags'] - #else: p_d.Partition.dict[dev]['partition'][p]['sn'] -= 1 - #partition_last = p_d.sort_partitions(p_d.Partition.dict,dev,"partition")[::-1][0] - #p_d.delete_one_partition(p_d.Partition.dict,dev,partition_last) elif not re.search('free', pre_partition) and re.search('free',next_partition): p_d.Partition.dict[dev]['partition'][next_partition]['start'] = partition_start @@ -874,28 +895,7 @@ def del_msdos_partition(partition,dev): float(get_num(partition_start))) + base_unit for p in p_d.sort_partitions(p_d.Partition.dict, dev, "all"): if p_d.Partition.dict[dev]['partition'][p]['sn'] > partition_sn: - #if not re.search('free', p): - # p_num = p_d.Partition.dict[dev]['partition'][p]['num'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['num']\ - # = p_num -1 - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['sn']\ - # = p_d.Partition.dict[dev]['partition'][p]['sn']-1 - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['start']\ - # = p_d.Partition.dict[dev]['partition'][p]['start'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['end']\ - # = p_d.Partition.dict[dev]['partition'][p]['end'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['size']\ - # = p_d.Partition.dict[dev]['partition'][p]['size'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['type']\ - # = p_d.Partition.dict[dev]['partition'][p]['type'] - # p_d.Partition.dict[dev]['partition'][pre_partition_name+str(p_num-1)]['flags']\ - # = p_d.Partition.dict[dev]['partition'][p]['flags'] - #else: p_d.Partition.dict[dev]['partition'][p]['sn'] -= 1 - #partition_last = p_d.sort_partitions(p_d.Partition.dict,dev,"partition")[::-1][0] - #if p_d.Partition.dict[dev]['partition'][partition_last]['sn'] > partition_sn: - # p_d.delete_one_partition(p_d.Partition.dict,dev,partition_last) - else: len_free_list = len(p_d.sort_partitions(p_d.Partition.dict, dev, "free")) free_num_mid = 0 @@ -911,10 +911,19 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['end'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['size'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['size'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['filesystem'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['filesystem'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['type'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['type'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['flags'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['flags'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['from_os'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['from_os'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['format'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['format'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['mount_point'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['mount_point'] + if p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['sn'] < partition_sn: free_num_mid = p_d.Partition.dict[dev]['partition']['free '+str(i+1)]['num'] break @@ -923,28 +932,12 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['start'] = partition_start p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['end'] = partition_end p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['size'] = partition_size + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['filesystem'] = 'Free Space' p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['type'] = '' p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['flags'] = '' - - #for p in p_d.sort_partitions(p_d.Partition.dict, dev, "partition"): - # p_num = p_d.Partition.dict[dev]['partition'][p]['num'] - # p_sn = p_d.Partition.dict[dev]['partition'][p]['sn'] - # if p_sn > partition_sn and p_num < 5: - # 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_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)]['flags']\ - # = p_d.Partition.dict[dev]['partition'][p]['flags'] - # p_d.delete_one_partition(p_d.Partition.dict,dev,p) - + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['from_os'] = '' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['format'] = '' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['mount_point'] = '' elif locals().has_key('pre_partition') and not locals().has_key('next_partition'): if re.search('free', pre_partition) and ((locals().has_key('extended_start') and\ @@ -972,10 +965,18 @@ def del_msdos_partition(partition,dev): = partition_end p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['size']\ = partition_size + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['filesystem']\ + = 'Free Space' p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['type']\ = '' p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['flags']\ = '' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['from_os']\ + = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['format']\ + = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['mount_point']\ + = '' elif not locals().has_key('pre_partition') and locals().has_key('next_partition'): if re.search('free', next_partition): @@ -987,6 +988,12 @@ def del_msdos_partition(partition,dev): p_d.Partition.dict[dev]['partition']['free 1']['size'] = \ str(float(get_num(p_d.Partition.dict[dev]['partition']['free 1']['end']))\ - float(get_num(partition_start))) + base_unit + p_d.Partition.dict[dev]['partition']['free 1']['filesystem'] = 'Free Space' + p_d.Partition.dict[dev]['partition']['free 1']['type'] = '' + p_d.Partition.dict[dev]['partition']['free 1']['flags'] = '' + p_d.Partition.dict[dev]['partition']['free 1']['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['mount_point'] = '' else: for f in p_d.sort_partitions(p_d.Partition.dict, dev,"free")[::-1]: free_num = p_d.Partition.dict[dev]['partition'][f]['num'] @@ -1000,17 +1007,30 @@ def del_msdos_partition(partition,dev): = p_d.Partition.dict[dev]['partition'][f]['end'] p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['size']\ = p_d.Partition.dict[dev]['partition'][f]['size'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['filesystem']\ + = p_d.Partition.dict[dev]['partition'][f]['filesystem'] p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['type']\ = p_d.Partition.dict[dev]['partition'][f]['type'] p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['flags']\ = p_d.Partition.dict[dev]['partition'][f]['flags'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['from_os']\ + = p_d.Partition.dict[dev]['partition'][f]['from_os'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['format']\ + = p_d.Partition.dict[dev]['partition'][f]['format'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['mount_point']\ + = p_d.Partition.dict[dev]['partition'][f]['mount_point'] + p_d.Partition.dict[dev]['partition']['free 1']['num'] = partition_num p_d.Partition.dict[dev]['partition']['free 1']['sn'] = partition_sn p_d.Partition.dict[dev]['partition']['free 1']['start'] = partition_start p_d.Partition.dict[dev]['partition']['free 1']['end'] = partition_end p_d.Partition.dict[dev]['partition']['free 1']['size'] = partition_size + p_d.Partition.dict[dev]['partition']['free 1']['filesystem'] = 'Free Space' p_d.Partition.dict[dev]['partition']['free 1']['type'] = '' p_d.Partition.dict[dev]['partition']['free 1']['flags'] = '' + p_d.Partition.dict[dev]['partition']['free 1']['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['mount_point'] = '' else: p_d.delete_all_partitions(p_d.Partition.dict, dev) @@ -1066,10 +1086,18 @@ def del_gpt_partition(partition,dev): = p_d.Partition.dict[dev]['partition'][p]['end'] p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['size']\ = p_d.Partition.dict[dev]['partition'][p]['size'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['filesystem']\ + = p_d.Partition.dict[dev]['partition'][p]['filesystem'] p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['type']\ = p_d.Partition.dict[dev]['partition'][p]['type'] p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['flags']\ = p_d.Partition.dict[dev]['partition'][p]['flags'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['from_os']\ + = p_d.Partition.dict[dev]['partition'][p]['from_os'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['format']\ + = p_d.Partition.dict[dev]['partition'][p]['format'] + p_d.Partition.dict[dev]['partition']['free '+str(p_num-1)]['mount_point']\ + = p_d.Partition.dict[dev]['partition'][p]['mount_point'] else: p_d.Partition.dict[dev]['partition'][p]['sn'] -= 2 if len(p_d.sort_partitions(p_d.Partition.dict, dev,"free")) > 1: @@ -1107,10 +1135,19 @@ def del_gpt_partition(partition,dev): p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['end'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['size'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['size'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['filesystem'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['filesystem'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['type'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['type'] p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['flags'] = \ p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['flags'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['from_os'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['from_os'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['format'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['format'] + p_d.Partition.dict[dev]['partition'] ['free '+str(i+2)]['mount_point'] = \ + p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['mount_point'] + if p_d.Partition.dict[dev]['partition'] ['free '+str(i+1)]['sn'] < partition_sn: free_num_mid = p_d.Partition.dict[dev]['partition']['free '+str(i+1)]['num'] break @@ -1119,8 +1156,12 @@ def del_gpt_partition(partition,dev): p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['start'] = partition_start p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['end'] = partition_end p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['size'] = partition_size + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['filesystem'] = 'Free Space' p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['type'] = '' p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['flags'] = '' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['from_os'] = 'no' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['format'] = 'no' + p_d.Partition.dict[dev]['partition'] ['free '+str(free_num_mid+1)]['mount_point'] = '' elif locals().has_key('pre_partition') and not locals().has_key('next_partition'): if re.search('free', pre_partition): @@ -1144,10 +1185,18 @@ def del_gpt_partition(partition,dev): = partition_end p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['size']\ = partition_size + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['filesystem']\ + = 'Free Space' p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['type']\ = '' p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['flags']\ = '' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['from_os']\ + = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['format']\ + = 'no' + p_d.Partition.dict[dev]['partition']['free '+str(free_num_max+1)]['mount_point']\ + = '' elif not locals().has_key('pre_partition') and locals().has_key('next_partition'): if re.search('free', next_partition): @@ -1159,6 +1208,12 @@ def del_gpt_partition(partition,dev): p_d.Partition.dict[dev]['partition']['free 1']['size'] = \ str(float(get_num(p_d.Partition.dict[dev]['partition']['free 1']['end']))\ - float(get_num(partition_start))) + base_unit + p_d.Partition.dict[dev]['partition']['free 1']['filesystem'] = 'Free Space' + p_d.Partition.dict[dev]['partition']['free 1']['type'] = '' + p_d.Partition.dict[dev]['partition']['free 1']['flags'] = '' + p_d.Partition.dict[dev]['partition']['free 1']['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['mount_point'] = '' else: for f in p_d.sort_partitions(p_d.Partition.dict, dev,"free")[::-1]: free_num = p_d.Partition.dict[dev]['partition'][f]['num'] @@ -1172,17 +1227,30 @@ def del_gpt_partition(partition,dev): = p_d.Partition.dict[dev]['partition'][f]['end'] p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['size']\ = p_d.Partition.dict[dev]['partition'][f]['size'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['filesystem']\ + = p_d.Partition.dict[dev]['partition'][f]['filesystem'] p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['type']\ = p_d.Partition.dict[dev]['partition'][f]['type'] p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['flags']\ = p_d.Partition.dict[dev]['partition'][f]['flags'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['from_os']\ + = p_d.Partition.dict[dev]['partition'][f]['from_os'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['format']\ + = p_d.Partition.dict[dev]['partition'][f]['format'] + p_d.Partition.dict[dev]['partition']['free '+str(free_num+1)]['mount_point']\ + = p_d.Partition.dict[dev]['partition'][f]['mount_point'] + p_d.Partition.dict[dev]['partition']['free 1']['num'] = partition_num p_d.Partition.dict[dev]['partition']['free 1']['sn'] = partition_sn p_d.Partition.dict[dev]['partition']['free 1']['start'] = partition_start p_d.Partition.dict[dev]['partition']['free 1']['end'] = partition_end p_d.Partition.dict[dev]['partition']['free 1']['size'] = partition_size + p_d.Partition.dict[dev]['partition']['free 1']['filesystem'] = 'Free Space' p_d.Partition.dict[dev]['partition']['free 1']['type'] = '' p_d.Partition.dict[dev]['partition']['free 1']['flags'] = '' + p_d.Partition.dict[dev]['partition']['free 1']['from_os'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['format'] = 'no' + p_d.Partition.dict[dev]['partition']['free 1']['mount_point'] = '' else: p_d.delete_all_partitions(p_d.Partition.dict, dev)