modified: ri_tk_cmd.py
fix
display index data of Mount.dict, top_windows, raid, etc.
This commit is contained in:
@@ -38,29 +38,25 @@ def mount_list_modify(*args):
|
||||
def mp_top_init():
|
||||
''' mount dir top window initialize '''
|
||||
ml_win = ri_widget.Widget.dict['mount.list'].tk_widget
|
||||
idxs = ml_win.curselection()
|
||||
key_sort_list=ri_data.MountPoint.dict.keys()
|
||||
key_sort_list.sort()
|
||||
if len(idxs) == 1:
|
||||
idx = int(idxs[0])
|
||||
mp = ri_data.MountPoint.dict[key_sort_list[idx]]
|
||||
dev = mp.device
|
||||
dir = mp.directory
|
||||
fs = mp.filesystem
|
||||
fm = mp.format
|
||||
sz = ri_data.Partition.dict.has_key(dev) and ri_data.Partition.dict[dev].size or ri_data.Raid.get_size(dev)
|
||||
display.var_dict['mp_top_dev'].set(value=dev)
|
||||
display.var_dict['mp_top_size'].set(value=sz)
|
||||
display.var_dict['mp_top_dir'].set(value=dir)
|
||||
if fm == 'yes':
|
||||
ri_widget.Widget.dict['mp_top_format'].tk_widget.select()
|
||||
else:
|
||||
ri_widget.Widget.dict['mp_top_not_format'].tk_widget.select()
|
||||
get_dev = ml_win.selection_get().split(' ')[0]
|
||||
mp = ri_data.MountPoint.dict[get_dev]
|
||||
dev = mp.device
|
||||
dir = mp.directory
|
||||
fs = mp.filesystem
|
||||
fm = mp.format
|
||||
sz = ri_data.Partition.dict.has_key(dev) and ri_data.Partition.dict[dev].size or ri_data.Raid.get_size(dev)
|
||||
display.var_dict['mp_top_dev'].set(value=dev)
|
||||
display.var_dict['mp_top_size'].set(value=sz)
|
||||
display.var_dict['mp_top_dir'].set(value=dir)
|
||||
if fm == 'yes':
|
||||
ri_widget.Widget.dict['mp_top_format'].tk_widget.select()
|
||||
else:
|
||||
ri_widget.Widget.dict['mp_top_not_format'].tk_widget.select()
|
||||
|
||||
fs_values = eval(display.var_dict['mp_top_fs'].get())
|
||||
for i in range(len(fs_values)):
|
||||
if fs == fs_values[i]:
|
||||
ri_widget.Widget.dict['mp_top_fs'].tk_widget.selection_set(i)
|
||||
fs_values = eval(display.var_dict['mp_top_fs'].get())
|
||||
for i in range(len(fs_values)):
|
||||
if fs == fs_values[i]:
|
||||
ri_widget.Widget.dict['mp_top_fs'].tk_widget.selection_set(i)
|
||||
|
||||
def mp_top_ok():
|
||||
''' mount dir top window OK '''
|
||||
@@ -75,13 +71,13 @@ def mp_top_ok():
|
||||
fm = display.var_dict['mp_top_format'].get()
|
||||
idxs2 = ri_widget.Widget.dict['mp_top_fs'].tk_widget.curselection()
|
||||
for m in ri_data.Partition.dict.values():
|
||||
if m.device == dev2:
|
||||
base_fs = m.filesystem
|
||||
if m.device == dev2:
|
||||
base_fs = m.filesystem
|
||||
if len(idxs2) and fm =='yes' :
|
||||
idx2 = int(idxs2[0])
|
||||
fs = eval(display.var_dict['mp_top_fs'].get())[idx2]
|
||||
idx2 = int(idxs2[0])
|
||||
fs = eval(display.var_dict['mp_top_fs'].get())[idx2]
|
||||
elif fm=='no':
|
||||
fs = base_fs
|
||||
fs = base_fs
|
||||
s2 = dev.ljust(10) + dir.ljust(10) + fs.ljust(10) + fm.ljust(4) + sz.ljust(6)+ri_data.Partition.unit
|
||||
l.append(s2)
|
||||
# make change in internal data structure
|
||||
@@ -283,6 +279,7 @@ def list_to_list(list_from, var_from, var_to):
|
||||
l_to.append(itm)
|
||||
else:
|
||||
l_to = [ itm ]
|
||||
l_to.sort()
|
||||
display.var_dict[var_to].set(value=tuple(l_to))
|
||||
|
||||
def raid_raw_to_active():
|
||||
@@ -303,31 +300,10 @@ def raid_spare_to_raw():
|
||||
|
||||
def raid_device_init():
|
||||
''' initialize raid device list '''
|
||||
raid_devs = [ r.device for r in ri_data.Raid.dict.values()]
|
||||
raid_devs = [ d for d in ri_data.Raid.dict.keys()]
|
||||
raid_devs.sort()
|
||||
display.var_dict['raid_devs'].set(value=tuple(raid_devs))
|
||||
|
||||
def raid_calc_size(level, devs):
|
||||
''' calculate raid device size
|
||||
level - raid level (0/1/5)
|
||||
devs - raid component devices
|
||||
'''
|
||||
# all devs shall have same size.
|
||||
unit=ri_data.Partition.unit
|
||||
dev_size_list=[]
|
||||
for p in ri_data.Partition.dict.values():
|
||||
if p.device in devs:
|
||||
dev_size_list.append(float(p.size))
|
||||
dev_size_list.sort()
|
||||
sz=float(dev_size_list[0])
|
||||
if level == '0':
|
||||
sz=sz*len(devs)
|
||||
return str(sz)
|
||||
elif level == '1':
|
||||
return str(sz)
|
||||
elif level == '5':
|
||||
sz=sz*(len(devs)-1)
|
||||
return str(sz)
|
||||
|
||||
def raid_device_add():
|
||||
''' add a new raid device '''
|
||||
if display.var_dict['raid_active_devs'].get()=='':
|
||||
@@ -365,40 +341,36 @@ def raid_device_add():
|
||||
def raid_device_delete():
|
||||
''' delete a raid device, put its component devices into active/spare device list '''
|
||||
win_dev = ri_widget.Widget.dict['raid_dev.list'].tk_widget
|
||||
idxs = win_dev.curselection()
|
||||
if len(idxs) == 1:
|
||||
idx = int(idxs[0])
|
||||
r = ri_data.Raid.dict.values()[idx]
|
||||
if r.from_os == 'yes':
|
||||
ri_widget.MessageBox.dict["raid_delete_warning"].show()
|
||||
return
|
||||
if display.var_dict['raid_active_devs'].get() == '':
|
||||
active=[]
|
||||
else:
|
||||
active = list(eval(display.var_dict['raid_active_devs'].get()))
|
||||
if display.var_dict['raid_spare_devs'].get()=='':
|
||||
spare=[]
|
||||
else:
|
||||
spare = list(eval(display.var_dict['raid_spare_devs'].get()))
|
||||
get_dev=win_dev.selection_get()
|
||||
r = ri_data.Raid.dict[get_dev]
|
||||
if r.from_os == 'yes':
|
||||
ri_widget.MessageBox.dict["raid_delete_warning"].show()
|
||||
return
|
||||
if display.var_dict['raid_active_devs'].get() == '':
|
||||
active=[]
|
||||
else:
|
||||
active = list(eval(display.var_dict['raid_active_devs'].get()))
|
||||
if display.var_dict['raid_spare_devs'].get()=='':
|
||||
spare=[]
|
||||
else:
|
||||
spare = list(eval(display.var_dict['raid_spare_devs'].get()))
|
||||
|
||||
active.extend(r.active_components)
|
||||
spare.extend(r.spare_components)
|
||||
# do not touch level
|
||||
display.var_dict['raid_active_devs'].set(value=tuple(active))
|
||||
display.var_dict['raid_spare_devs'].set(value=tuple(spare))
|
||||
del ri_data.Raid.dict.values()[idx]
|
||||
raid_device_init()
|
||||
active.extend(r.active_components)
|
||||
spare.extend(r.spare_components)
|
||||
# do not touch level
|
||||
display.var_dict['raid_active_devs'].set(value=tuple(active))
|
||||
display.var_dict['raid_spare_devs'].set(value=tuple(spare))
|
||||
del ri_data.Raid.dict[get_dev]
|
||||
raid_device_init()
|
||||
|
||||
def raid_device_list_detail(*args):
|
||||
''' show details of a raid device '''
|
||||
win = ri_widget.Widget.dict['raid_dev.list'].tk_widget
|
||||
idxs = win.curselection()
|
||||
if len(idxs) == 1:
|
||||
idx = int(idxs[0])
|
||||
r = ri_data.Raid.dict.values()[idx]
|
||||
display.var_dict['raid_detail_active'].set(value='active: %s' %(str(r.active_components)))
|
||||
display.var_dict['raid_detail_spare'].set(value='spare: %s' %(str(r.spare_components)))
|
||||
display.var_dict['raid_detail_level'].set(value='level: %s' %(str(r.level)))
|
||||
get_dev = win.selection_get()
|
||||
r = ri_data.Raid.dict[get_dev]
|
||||
display.var_dict['raid_detail_active'].set(value='active: %s' %(str(r.active_components)))
|
||||
display.var_dict['raid_detail_spare'].set(value='spare: %s' %(str(r.spare_components)))
|
||||
display.var_dict['raid_detail_level'].set(value='level: %s' %(str(r.level)))
|
||||
|
||||
def install_information_init():
|
||||
'''install information initialize'''
|
||||
|
||||
Reference in New Issue
Block a user