Changeset b1e609c in sasview for src/sas/perspectives


Ignore:
Timestamp:
Mar 6, 2015 4:01:40 PM (10 years ago)
Author:
Doucet, Mathieu <doucetm@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
239c890, 66f21cd
Parents:
8b21fa7
Message:

pylint fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/perspectives/fitting/pagestate.py

    r2f4b430 rb1e609c  
    22    Class that holds a fit page state 
    33""" 
     4#TODO: Refactor code so we don't need to use getattr/setattr 
    45################################################################################ 
    56#This software was developed by the University of Tennessee as part of the 
     
    3536CANSAS_NS = "cansas1d/1.0" 
    3637 
    37 list_of_data_attributes = [["is_data", "is_data", "bool"], 
    38                       ["group_id", "data_group_id", "string"], 
    39                       ["data_name", "data_name", "string"], 
    40                       ["data_id", "data_id", "string"], 
    41                       ["name", "name", "string"], 
    42                       ["data_name", "data_name", "string"]] 
    43 list_of_state_attributes = [["engine_type", "engine_type", "string"], 
    44                        ["qmin", "qmin", "float"], 
    45                       ["qmax", "qmax", "float"], 
    46                       ["npts", "npts", "float"], 
    47                       ["categorycombobox", "categorycombobox", "string"], 
    48                       ["formfactorcombobox", "formfactorcombobox", "string"], 
    49                       ["structurecombobox", "structurecombobox", "string"], 
    50                       ["multi_factor", "multi_factor", "float"], 
    51                       ["magnetic_on", "magnetic_on", "bool"], 
    52                       ["enable_smearer", "enable_smearer", "bool"], 
    53                       ["disable_smearer", "disable_smearer", "bool"], 
    54                       ["pinhole_smearer", "pinhole_smearer", "bool"], 
    55                       ["slit_smearer", "slit_smearer", "bool"], 
    56                       ["enable_disp", "enable_disp", "bool"], 
    57                       ["disable_disp", "disable_disp", "bool"], 
    58                       ["dI_noweight", "dI_noweight", "bool"], 
    59                       ["dI_didata", "dI_didata", "bool"], 
    60                       ["dI_sqrdata", "dI_sqrdata", "bool"], 
    61                       ["dI_idata", "dI_idata", "bool"], 
    62                       ["enable2D", "enable2D", "bool"], 
    63                       ["cb1", "cb1", "bool"], 
    64                       ["tcChi", "tcChi", "float"], 
    65                       ["smearer", "smearer", "float"], 
    66                       ["smear_type", "smear_type", "string"], 
    67                       ["dq_l", "dq_l", "string"], 
    68                       ["dq_r", "dq_r", "string"], 
    69                       ["dx_max", "dx_max", "float"], 
    70                       ["dx_min", "dx_min", "float"], 
    71                       ["dxl", "dxl", "float"], 
    72                       ["dxw", "dxw", "float"]] 
    73  
    74 list_of_model_attributes = [["values", "values"], 
     38LIST_OF_DATA_ATTRIBUTES = [["is_data", "is_data", "bool"], 
     39                           ["group_id", "data_group_id", "string"], 
     40                           ["data_name", "data_name", "string"], 
     41                           ["data_id", "data_id", "string"], 
     42                           ["name", "name", "string"], 
     43                           ["data_name", "data_name", "string"]] 
     44LIST_OF_STATE_ATTRIBUTES = [["engine_type", "engine_type", "string"], 
     45                            ["qmin", "qmin", "float"], 
     46                            ["qmax", "qmax", "float"], 
     47                            ["npts", "npts", "float"], 
     48                            ["categorycombobox", "categorycombobox", "string"], 
     49                            ["formfactorcombobox", "formfactorcombobox", "string"], 
     50                            ["structurecombobox", "structurecombobox", "string"], 
     51                            ["multi_factor", "multi_factor", "float"], 
     52                            ["magnetic_on", "magnetic_on", "bool"], 
     53                            ["enable_smearer", "enable_smearer", "bool"], 
     54                            ["disable_smearer", "disable_smearer", "bool"], 
     55                            ["pinhole_smearer", "pinhole_smearer", "bool"], 
     56                            ["slit_smearer", "slit_smearer", "bool"], 
     57                            ["enable_disp", "enable_disp", "bool"], 
     58                            ["disable_disp", "disable_disp", "bool"], 
     59                            ["dI_noweight", "dI_noweight", "bool"], 
     60                            ["dI_didata", "dI_didata", "bool"], 
     61                            ["dI_sqrdata", "dI_sqrdata", "bool"], 
     62                            ["dI_idata", "dI_idata", "bool"], 
     63                            ["enable2D", "enable2D", "bool"], 
     64                            ["cb1", "cb1", "bool"], 
     65                            ["tcChi", "tcChi", "float"], 
     66                            ["smearer", "smearer", "float"], 
     67                            ["smear_type", "smear_type", "string"], 
     68                            ["dq_l", "dq_l", "string"], 
     69                            ["dq_r", "dq_r", "string"], 
     70                            ["dx_max", "dx_max", "float"], 
     71                            ["dx_min", "dx_min", "float"], 
     72                            ["dxl", "dxl", "float"], 
     73                            ["dxw", "dxw", "float"]] 
     74 
     75LIST_OF_MODEL_ATTRIBUTES = [["values", "values"], 
    7576                            ["weights", "weights"]] 
    7677 
    77 list_of_obj_dic = [["disp_obj_dict", "_disp_obj_dict", "string"]] 
    78  
    79 list_of_state_parameters = [["parameters", "parameters"], 
     78DISPERSION_LIST = [["disp_obj_dict", "_disp_obj_dict", "string"]] 
     79 
     80LIST_OF_STATE_PARAMETERS = [["parameters", "parameters"], 
    8081                            ["str_parameters", "str_parameters"], 
    8182                            ["orientation_parameters", "orientation_params"], 
     
    8384                            ["fixed_param", "fixed_param"], 
    8485                            ["fittable_param", "fittable_param"]] 
    85 list_of_data_2d_attr = [["xmin", "xmin", "float"], 
     86LIST_OF_DATA_2D_ATTR = [["xmin", "xmin", "float"], 
    8687                        ["xmax", "xmax", "float"], 
    8788                        ["ymin", "ymin", "float"], 
     
    9394                        ["_zaxis", "_zaxis", "string"], 
    9495                        ["_zunit", "_zunit", "string"]] 
    95 list_of_data2d_values = [["qx_data", "qx_data", "float"], 
    96                          ["qy_data", "qy_data", "float"], 
    97                          ["dqx_data", "dqx_data", "float"], 
    98                          ["dqy_data", "dqy_data", "float"], 
    99                          ["data", "data", "float"], 
    100                          ["q_data", "q_data", "float"], 
    101                          ["err_data", "err_data", "float"], 
    102                          ["mask", "mask", "bool"]] 
     96LIST_OF_DATA_2D_VALUES = [["qx_data", "qx_data", "float"], 
     97                          ["qy_data", "qy_data", "float"], 
     98                          ["dqx_data", "dqx_data", "float"], 
     99                          ["dqy_data", "dqy_data", "float"], 
     100                          ["data", "data", "float"], 
     101                          ["q_data", "q_data", "float"], 
     102                          ["err_data", "err_data", "float"], 
     103                          ["mask", "mask", "bool"]] 
    103104 
    104105 
     
    393394        else: 
    394395            rep += "model name : None\n" 
    395         #rep += "model type (form factor) selected: %s\n" % self.shape_rbutton  
    396396        rep += "multi_factor : %s\n" % str(self.multi_factor) 
    397397        rep += "magnetic_on : %s\n" % str(self.magnetic_on) 
    398398        rep += "model type (Category) selected: %s\n" % self.categorycombobox 
    399         #rep += "model type (shape independent) selected: %s\n" % self.shape_indep_rbutton 
    400         #rep += "model type (structure factor) selected: %s\n" % self.struct_rbutton 
    401         #rep += "model type (plug-in ) selected: %s\n" % self.plugin_rbutton 
    402399        rep += "data : %s\n" % str(self.data) 
    403400        rep += "Plotting Range: min: %s, max: %s, steps: %s\n" % (str(self.qmin), 
    404                                                 str(self.qmax), str(self.npts)) 
     401                                                                  str(self.qmax), str(self.npts)) 
    405402        rep += "Dispersion selection : %s\n" % str(self.disp_box) 
    406403        rep += "Smearing enable : %s\n" % str(self.enable_smearer) 
     
    453450            rep += "number fittable_param(self.fittable_param): %s\n" % len(temp_fittable_param) 
    454451            rep = self._repr_helper(list=temp_fittable_param, rep=rep) 
    455             """ 
    456             if is_2D: 
    457                 rep += "number orientation parameters" 
    458                 rep += "(self.orientation_params): %s\n"%len(self.orientation_params) 
    459                 rep = self._repr_helper( list=self.orientation_params, rep=rep) 
    460                 rep += "number dispersity parameters" 
    461                 rep += "(self.orientation_params_disp): %s\n"%len(self.orientation_params_disp) 
    462                 rep = self._repr_helper( list=self.orientation_params_disp, rep=rep) 
    463             """ 
    464452        return rep 
    465453 
     
    477465        paramval_string = "" 
    478466        chi2_string = "" 
    479         multi_factor_string = "" 
    480467        q_range = "" 
    481468        strings = self.__repr__() 
     
    490477                value = content[1] 
    491478            except: 
    492                 pass 
     479                logging.error(sys.exc_value) 
    493480            if name.count("State created"): 
    494481                repo_time = "" + value 
     
    504491            if name == "value": 
    505492                param_string += value + ',' 
    506             if name == "selected": 
    507                 if value == u' False': 
    508                     fixed_parameter = True 
    509                 else: 
    510                     fixed_parameter = False 
     493            if name == "selected": 
     494                if value == u' False': 
     495                    fixed_parameter = True 
     496                else: 
     497                    fixed_parameter = False 
    511498            if name == "error value": 
    512                 if fixed_parameter: 
    513                     param_string += '(fixed),' 
    514                 else: 
     499                if fixed_parameter: 
     500                    param_string += '(fixed),' 
     501                else: 
    515502                    param_string += value + ',' 
    516503            if name == "parameter unit": 
     
    519506                chi2 = ("Chi2/Npts = " + value) 
    520507                chi2_string = CENTRE % chi2 
    521             if name == "multi_factor ": 
    522                 muti_factor = ("muti_factor = " + value) 
    523                 muti_factor_string = CENTRE % muti_factor 
    524             if name == "magentic_on ": 
    525                 magentic_on = ("magentic_on = " + value) 
    526                 if string(value) == 'True': 
    527                     magentic_on_string = CENTRE % magentic_on 
    528508            if name == "Title": 
    529509                if len(value.strip()) == 0: 
     
    533513            if name == "data ": 
    534514                try: 
    535                     file = ("File name:" + content[2]) 
    536                     file_name = CENTRE % file 
     515                    file_value = ("File name:" + content[2]) 
     516                    file_name = CENTRE % file_value 
    537517                    if len(title) == 0: 
    538518                        title = content[2] + " [" + repo_time + "]" 
    539519                        title_name = HEADER % title 
    540520                except: 
    541                     pass 
     521                    logging.error(sys.exc_value) 
    542522            if name == "model name ": 
    543523                try: 
     
    554534                    q_range = CENTRE % q_name 
    555535                except: 
    556                     pass 
     536                    logging.error(sys.exc_value) 
    557537        paramval = "" 
    558538        for lines in param_string.split(":"): 
     
    725705            self.data_id = self.data.id 
    726706 
    727         for item in list_of_data_attributes: 
     707        for item in LIST_OF_DATA_ATTRIBUTES: 
    728708            element = newdoc.createElement(item[0]) 
    729             exec "element.setAttribute(item[0], str(self.%s))" % (item[1]) 
     709            element.setAttribute(item[0], str(getattr(self, item[1]))) 
    730710            inputs.appendChild(element) 
    731711 
    732         for item in list_of_state_attributes: 
     712        for item in LIST_OF_STATE_ATTRIBUTES: 
    733713            element = newdoc.createElement(item[0]) 
    734             exec "element.setAttribute(item[0], str(self.%s))" % (item[1]) 
     714            element.setAttribute(item[0], str(getattr(self, item[1]))) 
    735715            inputs.appendChild(element) 
    736716 
    737717        # For self.values ={ disp_param_name: [vals,...],...} 
    738718        # and for self.weights ={ disp_param_name: [weights,...],...} 
    739         list = {} 
    740         for item in list_of_model_attributes: 
     719        value_list = {} 
     720        for item in LIST_OF_MODEL_ATTRIBUTES: 
    741721            element = newdoc.createElement(item[0]) 
    742             exec "list = self.%s" % item[1] 
    743             for key, value in list.iteritems(): 
     722            value_list = getattr(self, item[1]) 
     723            for key, value in value_list.iteritems(): 
    744724                sub_element = newdoc.createElement(key) 
    745725                sub_element.setAttribute('name', str(key)) 
    746726                for val in value: 
    747                     com = "sub_element.appendChild" 
    748                     com += "(newdoc.createTextNode(str(%s)))" 
    749                     exec com % val 
     727                    sub_element.appendChild(newdoc.createTextNode(str(val))) 
    750728 
    751729                element.appendChild(sub_element) 
     
    753731 
    754732        # Create doc for the dictionary of self._disp_obj_dic 
    755         for item in list_of_obj_dic: 
     733        for item in DISPERSION_LIST: 
    756734            element = newdoc.createElement(item[0]) 
    757             exec "list = self.%s" % item[1] 
    758             for key, val in list.iteritems(): 
     735            value_list = getattr(self, item[1]) 
     736            for key, val in value_list.iteritems(): 
    759737                value = repr(val) 
    760738                sub_element = newdoc.createElement(key) 
     
    764742            inputs.appendChild(element) 
    765743 
    766         for item in list_of_state_parameters: 
     744        for item in LIST_OF_STATE_PARAMETERS: 
    767745            element = newdoc.createElement(item[0]) 
    768             com = "self._toXML_helper(thelist=self.%s," 
    769             com += " element=element, newdoc=newdoc)" 
    770             exec com % item[1] 
     746            self._toXML_helper(thelist=getattr(self, item[1]), element=element, newdoc=newdoc) 
    771747            inputs.appendChild(element) 
    772748 
     
    862838            # Parse fitting attributes 
    863839            entry = get_content('ns:Attributes', node) 
    864             for item in list_of_data_attributes: 
     840            for item in LIST_OF_DATA_ATTRIBUTES: 
    865841                node = get_content('ns:%s' % item[0], entry) 
    866                 try: 
    867                     exec "self.%s = parse_entry_helper(node, item)" % item[0] 
    868  
    869                 except: 
    870                     raise 
     842                setattr(self, item[0], parse_entry_helper(node, item)) 
    871843 
    872844            if entry is not None: 
    873  
    874                 for item in list_of_state_attributes: 
     845                for item in LIST_OF_STATE_ATTRIBUTES: 
    875846                    node = get_content('ns:%s' % item[0], entry) 
    876                     try: 
    877                         exec "self.%s = parse_entry_helper(node, item)" % \ 
    878                                                                 str(item[0]) 
    879                     except: 
    880                         raise 
    881  
    882                 for item in list_of_state_parameters: 
     847                    setattr(self, item[0], parse_entry_helper(node, item)) 
     848 
     849                for item in LIST_OF_STATE_PARAMETERS: 
    883850                    node = get_content("ns:%s" % item[0], entry) 
    884                     exec "self._fromXML_helper(node=node, list=self.%s)" % \ 
    885                                                                     item[1] 
     851                    self._fromXML_helper(node=node, list=getattr(self, item[1])) 
    886852 
    887853                # Recover _disp_obj_dict from xml file 
    888854                self._disp_obj_dict = {} 
    889                 disp_model = None 
    890                 for item in list_of_obj_dic: 
     855                for item in DISPERSION_LIST: 
    891856                    # Get node 
    892857                    node = get_content("ns:%s" % item[0], entry) 
    893858                    for attr in node: 
    894                         name = attr.get('name') 
     859                        name = str(attr.get('name')) 
    895860                        val = attr.get('value') 
    896861                        value = val.split(" instance")[0] 
     
    903868                            exec com % com_name 
    904869                            disp_model = disp() 
    905                             exec "self.%s['%s'] = com_name" % (item[1], name) 
     870                            attribute = getattr(self, item[1]) 
     871                            attribute[name] = com_name 
    906872                        except: 
    907                             pass 
     873                            logging.error(sys.exc_value) 
    908874 
    909875                # get self.values and self.weights dic. if exists 
    910                 for item in list_of_model_attributes: 
     876                for item in LIST_OF_MODEL_ATTRIBUTES: 
    911877                    node = get_content("ns:%s" % item[0], entry) 
    912878                    dic = {} 
    913                     list = [] 
     879                    value_list = [] 
    914880                    for par in node: 
    915881                        name = par.get('name') 
     
    919885                            try: 
    920886                                val = float(line) 
    921                                 list.append(val) 
     887                                value_list.append(val) 
    922888                            except: 
    923889                                # pass if line is empty (it happens) 
    924                                 pass 
    925                     dic[name] = numpy.array(list) 
    926                     exec "self.%s = dic" % item[1] 
     890                                logging.error(sys.exc_value) 
     891                    dic[name] = numpy.array(value_list) 
     892                    setattr(self, item[1], dic) 
    927893 
    928894    def set_plot_state(self, figs, canvases): 
     
    952918                canvas = canvases[ind] 
    953919 
    954             #store the image in wx.FileSystem Object  
     920            #store the image in wx.FileSystem Object 
    955921            wx.FileSystem.AddHandler(wx.MemoryFSHandler()) 
    956922 
     
    1026992        main_node.setAttribute("xmlns", "cansas1d/%s" % self.version) 
    1027993        main_node.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") 
    1028         main_node.setAttribute("xsi:schemaLocation", "cansas1d/%s http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd" % self.version) 
     994        main_node.setAttribute("xsi:schemaLocation", 
     995                               "cansas1d/%s http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd" % self.version) 
    1029996 
    1030997        doc.appendChild(main_node) 
     
    10391006            runname = {} 
    10401007            if datainfo.run_name.has_key(item) and len(str(datainfo.run_name[item])) > 1: 
    1041                 runname = {'name': datainfo.run_name[item] } 
     1008                runname = {'name': datainfo.run_name[item]} 
    10421009            write_node(doc, entry_node, "Run", item, runname) 
    10431010        # Data info 
    10441011        new_node = doc.createElement("SASdata") 
    10451012        entry_node.appendChild(new_node) 
    1046         for item in list_of_data_2d_attr: 
     1013        for item in LIST_OF_DATA_2D_ATTR: 
    10471014            element = doc.createElement(item[0]) 
    1048             exec "element.setAttribute(item[0], str(datainfo.%s))" % (item[1]) 
     1015            element.setAttribute(item[0], str(getattr(datainfo, item[1]))) 
    10491016            new_node.appendChild(element) 
    10501017 
    1051         for item in list_of_data2d_values: 
     1018        for item in LIST_OF_DATA_2D_VALUES: 
    10521019            root_node = doc.createElement(item[0]) 
    10531020            new_node.appendChild(root_node) 
    10541021            temp_list = None 
    1055             exec "temp_list = datainfo.%s" % item[1] 
     1022            temp_list = getattr(datainfo, item[1]) 
    10561023 
    10571024            if temp_list is None or len(temp_list) == 0: 
    10581025                element = doc.createElement(item[0]) 
    1059                 exec "element.appendChild(doc.createTextNode(str(%s)))" % temp_list 
     1026                element.appendChild(doc.createTextNode(str(temp_list))) 
    10601027                root_node.appendChild(element) 
    10611028            else: 
    10621029                for value in temp_list: 
    10631030                    element = doc.createElement(item[0]) 
    1064                     exec "element.setAttribute(item[0], str(%s))" % value 
     1031                    element.setAttribute(item[0], str(value)) 
    10651032                    root_node.appendChild(element) 
    10661033 
     
    13421309            data_info.sample.name = entry.get('name') 
    13431310 
    1344         self._store_content('ns:SASsample/ns:ID', 
    1345                      dom, 'ID', data_info.sample) 
    1346         self._store_float('ns:SASsample/ns:thickness', 
    1347                      dom, 'thickness', data_info.sample) 
    1348         self._store_float('ns:SASsample/ns:transmission', 
    1349                      dom, 'transmission', data_info.sample) 
    1350         self._store_float('ns:SASsample/ns:temperature', 
    1351                      dom, 'temperature', data_info.sample) 
    1352  
    1353         nodes = dom.xpath('ns:SASsample/ns:details', 
    1354                           namespaces={'ns': CANSAS_NS}) 
     1311        self._store_content('ns:SASsample/ns:ID', dom, 'ID', data_info.sample) 
     1312        self._store_float('ns:SASsample/ns:thickness', dom, 'thickness', data_info.sample) 
     1313        self._store_float('ns:SASsample/ns:transmission', dom, 'transmission', data_info.sample) 
     1314        self._store_float('ns:SASsample/ns:temperature', dom, 'temperature', data_info.sample) 
     1315 
     1316        nodes = dom.xpath('ns:SASsample/ns:details', namespaces={'ns': CANSAS_NS}) 
    13551317        for item in nodes: 
    13561318            try: 
     
    13651327 
    13661328        # Position (as a vector) 
    1367         self._store_float('ns:SASsample/ns:position/ns:x', 
    1368                      dom, 'position.x', data_info.sample) 
    1369         self._store_float('ns:SASsample/ns:position/ns:y', 
    1370                      dom, 'position.y', data_info.sample) 
    1371         self._store_float('ns:SASsample/ns:position/ns:z', 
    1372                      dom, 'position.z', data_info.sample) 
     1329        self._store_float('ns:SASsample/ns:position/ns:x', dom, 'position.x', data_info.sample) 
     1330        self._store_float('ns:SASsample/ns:position/ns:y', dom, 'position.y', data_info.sample) 
     1331        self._store_float('ns:SASsample/ns:position/ns:z', dom, 'position.z', data_info.sample) 
    13731332 
    13741333        # Orientation (as a vector) 
    13751334        self._store_float('ns:SASsample/ns:orientation/ns:roll', 
    1376                      dom, 'orientation.x', data_info.sample) 
     1335                          dom, 'orientation.x', data_info.sample) 
    13771336        self._store_float('ns:SASsample/ns:orientation/ns:pitch', 
    1378                      dom, 'orientation.y', data_info.sample) 
     1337                          dom, 'orientation.y', data_info.sample) 
    13791338        self._store_float('ns:SASsample/ns:orientation/ns:yaw', 
    1380                      dom, 'orientation.z', data_info.sample) 
     1339                          dom, 'orientation.z', data_info.sample) 
    13811340 
    13821341        # Source info ################### 
     
    13861345 
    13871346        self._store_content('ns:SASinstrument/ns:SASsource/ns:radiation', 
    1388                      dom, 'radiation', data_info.source) 
     1347                            dom, 'radiation', data_info.source) 
    13891348        self._store_content('ns:SASinstrument/ns:SASsource/ns:beam_shape', 
    1390                      dom, 'beam_shape', data_info.source) 
     1349                            dom, 'beam_shape', data_info.source) 
    13911350        self._store_float('ns:SASinstrument/ns:SASsource/ns:wavelength', 
    1392                      dom, 'wavelength', data_info.source) 
     1351                          dom, 'wavelength', data_info.source) 
    13931352        self._store_float('ns:SASinstrument/ns:SASsource/ns:wavelength_min', 
    1394                      dom, 'wavelength_min', data_info.source) 
     1353                          dom, 'wavelength_min', data_info.source) 
    13951354        self._store_float('ns:SASinstrument/ns:SASsource/ns:wavelength_max', 
    1396                      dom, 'wavelength_max', data_info.source) 
     1355                          dom, 'wavelength_max', data_info.source) 
    13971356        self._store_float('ns:SASinstrument/ns:SASsource/ns:wavelength_spread', 
    1398                      dom, 'wavelength_spread', data_info.source) 
     1357                          dom, 'wavelength_spread', data_info.source) 
    13991358 
    14001359        # Beam size (as a vector) 
     
    14041363 
    14051364        self._store_float('ns:SASinstrument/ns:SASsource/ns:beam_size/ns:x', 
    1406                      dom, 'beam_size.x', data_info.source) 
     1365                          dom, 'beam_size.x', data_info.source) 
    14071366        self._store_float('ns:SASinstrument/ns:SASsource/ns:beam_size/ns:y', 
    1408                      dom, 'beam_size.y', data_info.source) 
     1367                          dom, 'beam_size.y', data_info.source) 
    14091368        self._store_float('ns:SASinstrument/ns:SASsource/ns:beam_size/ns:z', 
    1410                      dom, 'beam_size.z', data_info.source) 
     1369                          dom, 'beam_size.z', data_info.source) 
    14111370 
    14121371        # Collimation info ################### 
     
    15221481 
    15231482        for entry in nodes: 
    1524             for item in list_of_data_2d_attr: 
     1483            for item in LIST_OF_DATA_2D_ATTR: 
    15251484                #get node 
    15261485                node = get_content('ns:%s' % item[0], entry) 
    1527                 exec "data_info.%s = parse_entry_helper(node, item)" % item[1] 
    1528  
    1529             for item in list_of_data2d_values: 
     1486                setattr(data_info, item[1], parse_entry_helper(node, item)) 
     1487 
     1488            for item in LIST_OF_DATA_2D_VALUES: 
    15301489                field = get_content('ns:%s' % item[0], entry) 
    1531                 list = [] 
     1490                value_list = [] 
    15321491                if field is not None: 
    1533                     list = [parse_entry_helper(node, item) for node in field] 
    1534                 if len(list) < 2: 
    1535                     exec "data_info.%s = None" % item[0] 
     1492                    value_list = [parse_entry_helper(node, item) for node in field] 
     1493                if len(value_list) < 2: 
     1494                    setattr(data_info, item[0], None) 
    15361495                else: 
    1537                     exec "data_info.%s = numpy.array(list)" % item[0] 
     1496                    setattr(data_info, item[0], numpy.array(value_list)) 
    15381497 
    15391498        return data_info 
     
    16061565 
    16071566                    if state is not None and state.is_data is not None: 
    1608                         exec 'output[%d].is_data = state.is_data' % ind 
     1567                        output[ind].is_data = state.is_data 
    16091568 
    16101569                    output[ind].filename = state.file 
     
    16251584                    self.state = state 
    16261585                return output 
    1627  
    16281586        except: 
    16291587            self.call_back(format=ext) 
    1630             #self.state= state 
    16311588            raise 
    16321589 
Note: See TracChangeset for help on using the changeset viewer.