From b52f535f6b6c98aead30afeb165b1f3dabed44f1 Mon Sep 17 00:00:00 2001 From: fling Date: Tue, 19 Oct 2010 04:42:25 +0800 Subject: [PATCH] modified: ri_data.py modified: ri_func_dep.py modified: ri_main.py modified: ri_tk_cmd.py Because the function sort() return value is not a list. it is return .so use for k in ri_data.MountPoint.dict{}.keys().sort() must be throw a exception --- interface/ri_data.py | 14 ++++++++++---- interface/ri_func_dep.py | 4 ++-- interface/ri_main.py | 2 +- interface/ri_tk_cmd.py | 20 ++++++++++++++------ 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/interface/ri_data.py b/interface/ri_data.py index 0f74c91..6719b85 100644 --- a/interface/ri_data.py +++ b/interface/ri_data.py @@ -82,7 +82,7 @@ class Partition: # devices : 1) sda, sdb(first if ), or md0 (second if) for d in [ i for i in l if not re.search(r'\d+', i) or re.search(r'([a-zA-Z]+)', i).group(1) not in l]: - st,o=commands.getstatusoutput('parted /dev/%s unit %s print'%(d,Partition.unit)) + st,o=commands.getstatusoutput('LANG=c parted /dev/%s unit %s print'%(d,Partition.unit)) if st: print "Error parted execute error" return @@ -147,7 +147,9 @@ p_node - xml node (parent node)''' unit_attr = doc.createAttribute('unit') unit_attr.value = Partition.unit pts.setAttributeNode(unit_attr) - for k in Partition.dict.keys().sort(): + P_keys = Partition.dict.keys() + P_keys.sort() + for k in P_keys: p = Partition.dict[k] pt = doc.createElement('partition') dev_attr = doc.createAttribute('device') @@ -255,7 +257,9 @@ l - list doc - xml document instance p_node - xml node (parent node) ''' raids = doc.createElement('raids') - for k in Raid.dict.keys().sort(): + R_keys = Raid.dict.keys() + R_keys.sort() + for k in R_keys: r = Raid.dict[k] rd = doc.createElement('raid') @@ -374,7 +378,9 @@ class MountPoint: doc - xml document instance p_node - xml node (parent node)''' mps = doc.createElement('mount-points') - for k in MountPoint.dict.keys().sort(): + M_keys = MountPoint.dict.keys() + M_keys.sort() + for k in M_keys: m = MountPoint.dict[k] mp = doc.createElement('mount-point') dev_attr = doc.createAttribute('device') diff --git a/interface/ri_func_dep.py b/interface/ri_func_dep.py index 4a9378a..e2dd76c 100644 --- a/interface/ri_func_dep.py +++ b/interface/ri_func_dep.py @@ -14,7 +14,7 @@ class FsType(): @staticmethod def set_list (): - for fs in ri_data.MountPoint.list: + for fs in ri_data.MountPoint.dict.values(): FsType.list.append(fs.filesystem) class FunctionDepending(): @@ -63,7 +63,7 @@ class RAID(FunctionDepending): def check(self): if 'mdadm' not in Pkg.list: - for i in ri_data.Raid.list: + for i in ri_data.Raid.dict.values(): if i.from_os == 'no': return False return True diff --git a/interface/ri_main.py b/interface/ri_main.py index 7375fb2..932181d 100644 --- a/interface/ri_main.py +++ b/interface/ri_main.py @@ -38,7 +38,7 @@ else: print 'error: interface xml(%s) does not exist' %itf_xml sys.exit(1) -if os.path.isfile(ins_xml): +if os.path.isfile(ri_data.install_xml): ri_data.init_from_xml() else: ri_data.init() diff --git a/interface/ri_tk_cmd.py b/interface/ri_tk_cmd.py index 94188b5..bb9ff75 100644 --- a/interface/ri_tk_cmd.py +++ b/interface/ri_tk_cmd.py @@ -20,9 +20,11 @@ def mount_list_init(): ''' initialize mount list ''' l = [] ri_data.MountPoint.init_from_internal() - for d in ri_data.MountPoint.dict.keys().sort(): + M_keys = ri_data.MountPoint.dict.keys() + M_keys.sort() + for d in M_keys: # get size from Partition info - sz = MountPoint.get_size(d) + sz = ri_data.MountPoint.get_size(d) m = ri_data.MountPoint.dict[d] s = m.device.ljust(10) + m.directory.ljust(10) + m.filesystem.ljust(10) + m.format.ljust(4) + sz.ljust(6) l.append(s) @@ -45,7 +47,7 @@ def mp_top_init(): dr = mp.directory fs = mp.filesystem fm = mp.format - sz = MountPoint.get_size(dev) + sz = ri_data.MountPoint.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=dr) @@ -261,7 +263,8 @@ 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 ].sort() + if re.search('raid', ri_data.Partition.dict[d].flags) and d not in dev_in_raid ] + raw_devs.sort() display.var_dict['raid_raw_devs'].set(value=tuple(raw_devs)) def list_to_list(list_from, var_from, var_to): @@ -278,7 +281,8 @@ 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 ].sort() + l_to = [ itm ] + l_to.sort() display.var_dict[var_to].set(value=tuple(l_to)) def raid_raw_to_active(): @@ -299,7 +303,11 @@ def raid_spare_to_raw(): def raid_device_init(): ''' initialize raid device list ''' - raid_devs = [ k for k in ri_data.Raid.keys() ].sort() + raid_devs = [ k for k in ri_data.Raid.dict.keys() ] + raid_devs.sort() + if not raid_devs: + raid_devs=[] + display.var_dict['raid_devs'].set(value=tuple(raid_devs)) def raid_device_add():