diff -r b65abacdbdf9 -r 79dc2d15c580 etherlab/etherlab.py --- a/etherlab/etherlab.py Fri Apr 26 13:57:10 2013 +0200 +++ b/etherlab/etherlab.py Fri Apr 26 23:23:09 2013 +0200 @@ -236,14 +236,27 @@ MODULES_EXTRA_PARAMS = [ ("pdo_alignment", { - "column_label": _("PDO alignment (bits)"), - "default": 8}), + "column_label": _("PDO alignment"), + "column_size": 150, + "default": 8, + "description": _( +"Minimal size in bits between 2 pdo entries")}), ("max_pdo_size", { - "column_label": _("Max entries by PDO (-1=unbounded)"), - "default": -1}), + "column_label": _("Max entries by PDO"), + "column_size": 150, + "default": -1, + "description": _( +"""Maximal number of entries mapped in a PDO +including empty entries used for PDO alignment +(-1=unbounded)""")}), ("add_pdo", { - "column_label": _("Creating new PDO (1=possible)"), - "default": 0}) + "column_label": _("Creating new PDO"), + "column_size": 150, + "default": 0, + "description": _( +"""Adding a PDO not defined in default configuration +for mapping needed location variables +(1 if possible)""")}) ] def __init__(self, path, parent_library=None): @@ -388,12 +401,13 @@ if has_header: has_header = False else: - try: - self.ModulesExtraParams[tuple(map(int, row[:3]))] = dict( - zip([param for param, params_infos in self.MODULES_EXTRA_PARAMS], - int(row[3]))) - except: - pass + params_values = {} + for (param, param_infos), value in zip( + self.MODULES_EXTRA_PARAMS, row[3:]): + if value != "": + params_values[param] = int(value) + self.ModulesExtraParams[ + tuple(map(int, row[:3]))] = params_values csvfile.close() def SaveModulesExtraParams(self): @@ -412,7 +426,10 @@ product_code = ExtractHexDecValue(product_code) revision_number = ExtractHexDecValue(revision_number) - self.ModulesExtraParams[tuple([vendor, product_code, revision_number])][param] = value + module_infos = (vendor, product_code, revision_number) + self.ModulesExtraParams.setdefault(module_infos, {}) + self.ModulesExtraParams[module_infos][param] = value + self.SaveModulesExtraParams() def GetModuleExtraParams(self, vendor, product_code, revision_number): @@ -425,7 +442,7 @@ else: extra_params = {} - extra_params.update(self.ModulesExtraParams.get(tuple([vendor, product_code, revision_number]), {})) + extra_params.update(self.ModulesExtraParams.get((vendor, product_code, revision_number), {})) for param, param_infos in self.MODULES_EXTRA_PARAMS: extra_params.setdefault(param, param_infos["default"])