A bit of refactoring, a bit of housekeeping. Make Pylint happy. Mmmmm nice.

This commit is contained in:
Ferdi Franceschini
2014-07-08 19:33:29 +10:00
parent dee4b0430e
commit a294d50a1d

View File

@ -187,7 +187,7 @@ class InstConfigData(object):
"""Handles reading and writing instrument configuration data and provides
methods to change the configuration.
Attributes:
configuration_dict: Instrument configurations by configuration name.
config_dict: Instrument configurations by configuration name.
opt_dict: Configuration option descriptions indexed by option name.
imp_dict: Implementations for indexed by option type.
"""
@ -197,9 +197,9 @@ class InstConfigData(object):
def __init__(self):
self.file_parser = ConfigParser.SafeConfigParser()
self.config_filename = 'sics_config.ini'
#configuration_dict: dict of instrument configurations as defined below,
#config_dict: dict of instrument configurations as defined below,
# {configname: {'enabled':T/F, 'cascade_list':[(option, dflt_imp)]} }
self.configuration_dict = defaultdict(dict)
self.config_dict = defaultdict(dict)
#imp_dict: dict of implementations indexed by optype,
# {optype: [impname] }
@ -219,7 +219,7 @@ class InstConfigData(object):
def __get_configurations(self):
"""Parse instrument configuration definitions from INI file into
configuration_dict attribute of InstConfigData object
config_dict attribute of InstConfigData object
"""
for sect in self.file_parser.sections():
cascade_list = []
@ -238,8 +238,8 @@ class InstConfigData(object):
else:
stateval = False
self.configuration_dict[sect]['enabled'] = stateval
self.configuration_dict[sect]['cascade_list'] = cascade_list
self.config_dict[sect]['enabled'] = stateval
self.config_dict[sect]['cascade_list'] = cascade_list
def __get_options(self):
"""Parse configuration options from INI file into opt_dict attribute of
@ -269,14 +269,17 @@ class InstConfigData(object):
self.opt_dict[sect]['permanent'] = permanent
self.opt_dict[sect]['imptype'] = imptype
if stateval == True:
if selected_imp == 'none' or (selected_imp in self.imp2opt_dict) and self.imp2opt_dict[selected_imp] != 'none':
imp_unavailable = (selected_imp in self.imp2opt_dict) and (
self.imp2opt_dict[selected_imp] != 'none' )
if selected_imp == 'none' or imp_unavailable:
self.opt_dict[sect]['enabled'] = False
self.opt_dict[sect]['selected_imp'] = 'none'
else:
self.opt_dict[sect]['enabled'] = True
self.opt_dict[sect]['selected_imp'] = selected_imp
self.imp2opt_dict[selected_imp] = sect
print 'Add imp2opt_dict[{0}] = {1}'.format(selected_imp, sect)
dbmsg = 'Add imp2opt_dict[{0}] = {1}'
print dbmsg.format(selected_imp, sect)
else:
self.opt_dict[sect]['enabled'] = False
self.opt_dict[sect]['selected_imp'] = 'none'
@ -287,10 +290,8 @@ class InstConfigData(object):
"""
for sect in self.file_parser.sections():
if self.file_parser.has_option(sect, 'imptype'):
key = self.file_parser.get(sect, 'imptype')
self.imp_dict[key].append(sect)
if 'none' not in self.imp_dict[key]:
self.imp_dict[key].insert(0, 'none')
imptype = self.file_parser.get(sect, 'imptype')
self.imp_dict[imptype].append(sect)
if sect not in self.imp2opt_dict:
self.imp2opt_dict[sect] = 'none'
@ -307,6 +308,10 @@ class InstConfigData(object):
for opt, opt_desc in self.opt_dict.iteritems():
self.optypelist.append((opt, opt_desc['imptype']))
for imptype in self.imp_dict.keys():
if 'none' not in self.imp_dict[imptype]:
self.imp_dict[imptype].insert(0, 'none')
def backup_files(self):
""" Backup configuration files """
for idx in range(8, 0, -1):
@ -330,7 +335,7 @@ class InstConfigData(object):
opt_desc['selected_imp'])
self.file_parser.set(opt, 'optype', opt_desc['imptype'])
for config, config_desc in self.configuration_dict.iteritems():
for config, config_desc in self.config_dict.iteritems():
enabled = config_desc['enabled'].__str__()
self.file_parser.set(config, 'enabled', enabled)
@ -368,7 +373,7 @@ class InstConfigData(object):
def cf_statechange(self, cfg_id, new_state):
"""Change the given instrument configuration state."""
self.configuration_dict[cfg_id]['enabled'] = new_state
self.config_dict[cfg_id]['enabled'] = new_state
def opt_statechange(self, opt, new_state):
"""Change the given option state."""
@ -428,7 +433,7 @@ class InstConfigManager(object):
self.imp_lb = ImpListBox(self.imp_lw)
urwid.connect_signal(self.opt_lw, 'focus_change', self.update_imp_lb)
item_states = [(i, d['enabled']) for i, d in
cf_dat.configuration_dict.iteritems()]
cf_dat.config_dict.iteritems()]
item_states.sort()
self.cfg_lw = RadioButtonListWalker(item_states, on_state_change =
self.cf_statechange)
@ -488,7 +493,7 @@ class InstConfigManager(object):
"""
cfg_id = button.get_label()
self.cf_dat.cf_statechange(cfg_id, new_state)
cascade = self.cf_dat.configuration_dict[cfg_id]['cascade_list']
cascade = self.cf_dat.config_dict[cfg_id]['cascade_list']
if new_state == True:
for opt in self.cf_dat.opt_dict.keys():
self.opt_lw.button_dict[opt].set_state(False)
@ -503,7 +508,7 @@ class InstConfigManager(object):
return
def opt_statechange(self, button, new_state, udat=None):
def opt_statechange(self, button, new_state):
"""Update option label when it changes state and notify InstConfigData
object.
"""
@ -541,7 +546,6 @@ class InstConfigManager(object):
def update_imp_lb(self, pos):
"""Update implementation list when an option gets focus."""
optname = self.opt_optype_list[pos][0]
optype = self.opt_optype_list[pos][1]
self.imp_lw = self.__gen_imp_listwalker(optname)
self.imp_lb.use_listwalker(self.imp_lw)
return
@ -578,6 +582,7 @@ def gen_input_handler(cf_man, cf_dat, cf_viewer):
def main(config_ini):
"""Create configuration editor."""
# global cf_dat, cf_man, cf_viewer
# Make configuration data
cf_dat = InstConfigData()