diff --git a/interface/ri_oper.py b/interface/ri_oper.py index 20b9c7b..e127a8c 100644 --- a/interface/ri_oper.py +++ b/interface/ri_oper.py @@ -17,6 +17,7 @@ # Ling Fen 2010-09-04 create import ri_data +import ri_dep import os import subprocess @@ -173,17 +174,7 @@ class InstallPkg(Operation): self.return_value[3]=("package in source doesn't exist",u"软件包不存在") def get_stdin(self): - pkgname=[] - for i in ri_data.Group.dict.values(): - if i.install=='no': - continue - else: - pkgname+=i.mandatory - if i.selection=='all': - pkgname += [ j[0] for j in i.optional ] - else: - pkgname += [ j[0] for j in i.optional if j[1] == 'yes' ] - + pkgname = ri_data.Group.get_install_pkgs() + ri_dep.extra_pkgs self.steps += len(pkgname) return '\n'.join(pkgname) diff --git a/interface/ri_tk_cmd.py b/interface/ri_tk_cmd.py index 3ae58f6..cfc50fa 100644 --- a/interface/ri_tk_cmd.py +++ b/interface/ri_tk_cmd.py @@ -74,11 +74,13 @@ def mp_top_ok(): # if format, use the filesystem just set idx2 = int(idxs2[0]) fs = eval(display.var_dict['mp_top_fs'].get())[idx2] - else: + elif dev in Partition.dict.keys(): # else use the filesystem in Partition - fs = dev in Partition.dict.keys() and Partition.dict[dev].filesystem - s2 = dev.ljust(10) + dr.ljust(10) + fs.ljust(10) + fm.ljust(4) + sz.ljust(6) - l.append(s2) + fs = Partition.dict[dev].filesystem + else: + fs = ' ' + s2 = dev.ljust(10) + dr.ljust(10) + fs.ljust(10) + fm.ljust(4) + sz.ljust(6) + ri_data.Partition.unit + l.append(s2) # make change in internal data structure ri_data.MountPoint.change(dev, dir, fs, fm) else: @@ -259,7 +261,7 @@ def raid_raw_init(): dev_in_raid = ri_data.Raid.dev_in_raid() raw_devs = [ d for d in ri_data.Partition.dict.keys() - if re.search('raid', ri_data.Partition.dict[d].flags) and d not in dev_in_raid ] + if re.search('raid', ri_data.Partition.dict[d].flags) and d not in dev_in_raid ].sort() display.var_dict['raid_raw_devs'].set(value=tuple(raw_devs)) def list_to_list(list_from, var_from, var_to): @@ -276,7 +278,7 @@ def list_to_list(list_from, var_from, var_to): l_to = list(eval(display.var_dict[var_to].get())) l_to.append(itm) else: - l_to = [ itm ] + l_to = [ itm ].sort() display.var_dict[var_to].set(value=tuple(l_to)) def raid_raw_to_active(): @@ -297,7 +299,7 @@ def raid_spare_to_raw(): def raid_device_init(): ''' initialize raid device list ''' - raid_devs = [ r.device for r in ri_data.Raid.list ] + raid_devs = [ k for k in ri_data.Raid.keys() ].sort() display.var_dict['raid_devs'].set(value=tuple(raid_devs)) def raid_device_add(): @@ -317,6 +319,12 @@ def raid_device_add(): if not active or not level: ri_widget.MessageBox.dict["raid_add_warning"].show() return + elif int(level) < 2 and len(active) < 2: + ri_widget.MessageBox.dict["raid_add_active_numbers"].show() + return + elif str(level) == "5" and len(active)<3: + ri_widget.MessageBox.dict["raid_add_active_numbers_2"].show() + return dev = ri_data.Raid.get_next_device() ri_data.Raid(dev, "no", level, active, spare) @@ -376,11 +384,10 @@ def raid_device_list_detail(*args): 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))) -raid_raw_initialized = False - def install_information_init(): '''install information initialize''' ins_info = ri_data.install_information() t= ri_widget.Widget.dict['install_information.list'].tk_widget t.insert(1.0,ins_info) +raid_raw_initialized = False