Changes in / [4abcc93a:a4deca6] in sasview


Ignore:
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sascalc/dataloader/readers/cansas_reader.py

    r5f26aa4 r1686a333  
    206206        # Go through each child in the parent element 
    207207        for node in dom: 
    208             attr = node.attrib 
    209             name = attr.get("name", "") 
    210             type = attr.get("type", "") 
    211208            # Get the element name and set the current names level 
    212209            tagname = node.tag.replace(self.base_ns, "") 
     
    226223                ## Recursion step to access data within the group 
    227224                self._parse_entry(node) 
    228                 if tagname == "SASsample": 
    229                     self.current_datainfo.sample.name = name 
    230                 elif tagname == "beam_size": 
    231                     self.current_datainfo.source.beam_size_name = name 
    232                 elif tagname == "SAScollimation": 
    233                     self.collimation.name = name 
    234                 elif tagname == "aperture": 
    235                     self.aperture.name = name 
    236                     self.aperture.type = type 
    237225                self.add_intermediate() 
    238226            else: 
     
    241229                ## If this is a dataset, store the data appropriately 
    242230                if tagname == 'Run': 
    243                     self.current_datainfo.run_name[data_point] = name 
    244231                    self.current_datainfo.run.append(data_point) 
    245232                elif tagname == 'Title': 
     
    382369                    self.process.notes.append(data_point) 
    383370                elif tagname == 'term' and self.parent_class == 'SASprocess': 
    384                     unit = attr.get("unit", "") 
    385                     dic = {} 
    386                     dic["name"] = name 
    387                     dic["value"] = data_point 
    388                     dic["unit"] = unit 
    389                     self.process.term.append(dic) 
     371                    self.process.term.append(data_point) 
    390372 
    391373                ## Transmission Spectrum 
     
    549531            self.current_datainfo.collimation.append(self.collimation) 
    550532            self.collimation = Collimation() 
    551         elif self.parent_class == 'aperture': 
     533        elif self.parent_class == 'SASaperture': 
    552534            self.collimation.aperture.append(self.aperture) 
    553535            self.aperture = Aperture() 
     
    664646        err_msg = None 
    665647        default_unit = None 
    666         if not isinstance(node_value, float): 
    667             node_value = float(node_value) 
    668         if 'unit' in attr and attr.get('unit') is not None: 
     648        if 'unit' in attr and attr.get('unit') is not None and not self.ns_list.ns_optional: 
    669649            try: 
    670650                local_unit = attr['unit'] 
     651                if not isinstance(node_value, float): 
     652                    node_value = float(node_value) 
    671653                unitname = self.ns_list.current_level.get("unit", "") 
    672654                if "SASdetector" in self.names: 
     
    925907                self.write_node(point, "I", datainfo.y[i], 
    926908                                {'unit': datainfo.y_unit}) 
    927             if datainfo.dy is not None and len(datainfo.dy) > i: 
     909            if datainfo.dy != None and len(datainfo.dy) > i: 
    928910                self.write_node(point, "Idev", datainfo.dy[i], 
    929911                                {'unit': datainfo.y_unit}) 
    930             if datainfo.dx is not None and len(datainfo.dx) > i: 
     912            if datainfo.dx != None and len(datainfo.dx) > i: 
    931913                self.write_node(point, "Qdev", datainfo.dx[i], 
    932914                                {'unit': datainfo.x_unit}) 
    933             if datainfo.dxw is not None and len(datainfo.dxw) > i: 
     915            if datainfo.dxw != None and len(datainfo.dxw) > i: 
    934916                self.write_node(point, "dQw", datainfo.dxw[i], 
    935917                                {'unit': datainfo.x_unit}) 
    936             if datainfo.dxl is not None and len(datainfo.dxl) > i: 
     918            if datainfo.dxl != None and len(datainfo.dxl) > i: 
    937919                self.write_node(point, "dQl", datainfo.dxl[i], 
    938920                                {'unit': datainfo.x_unit}) 
     
    12021184                if isinstance(term, list): 
    12031185                    value = term['value'] 
    1204                     del term['value'] 
    1205                 elif isinstance(term, dict): 
    1206                     value = term.get("value") 
    12071186                    del term['value'] 
    12081187                else: 
  • test/sasdataloader/test/utest_abs_reader.py

    r5f26aa4 rb699768  
    176176         
    177177        self.assertEqual(self.data.run[0], "1234") 
    178         self.assertEqual(self.data.meta_data['loader'], "CanSAS XML 1D") 
     178        self.assertEqual(self.data.meta_data['loader'], "CanSAS 1D") 
     179        self.assertEqual(len(self.data.errors), 0) 
    179180         
    180181        # Data 
     
    197198        self.assertEqual(self.data.sample.name, "my sample") 
    198199        self.assertEqual(self.data.sample.thickness_unit, 'mm') 
    199         self.assertAlmostEqual(self.data.sample.thickness, 1.03) 
    200          
    201         self.assertAlmostEqual(self.data.sample.transmission, 0.327) 
     200        self.assertEqual(self.data.sample.thickness, 1.03) 
     201         
     202        self.assertEqual(self.data.sample.transmission, 0.327) 
    202203         
    203204        self.assertEqual(self.data.sample.temperature_unit, 'C') 
     
    232233         
    233234        self.assertEqual(self.data.source.wavelength_max_unit, "nm") 
    234         self.assertAlmostEqual(self.data.source.wavelength_max, 1.0) 
     235        self.assertEqual(self.data.source.wavelength_max, 1.0) 
    235236        self.assertEqual(self.data.source.wavelength_min_unit, "nm") 
    236         self.assertAlmostEqual(self.data.source.wavelength_min, 0.22) 
     237        self.assertEqual(self.data.source.wavelength_min, 0.22) 
    237238        self.assertEqual(self.data.source.wavelength_spread_unit, "percent") 
    238239        self.assertEqual(self.data.source.wavelength_spread, 14.3) 
     
    247248            self.assertEqual(item.size_unit,'mm') 
    248249            self.assertEqual(item.distance_unit,'mm') 
    249  
     250             
    250251            if item.size.x==50 \ 
    251252                and item.distance==11000.0 \ 
     
    293294            self.assertTrue(item.date in ['04-Sep-2007 18:35:02', 
    294295                                          '03-SEP-2006 11:42:47']) 
    295             print item.term 
    296296            for t in item.term: 
    297297                if t['name']=="ABS:DSTAND" \ 
     
    345345        self.assertEqual(self.data.filename, filename) 
    346346        # The followed should not have been loaded 
    347         self.assertAlmostEqual(self.data.sample.thickness, 0.00103) 
     347        self.assertEqual(self.data.sample.thickness, 0.00103) 
    348348        # This one should 
    349         self.assertAlmostEqual(self.data.sample.transmission, 0.327) 
    350          
    351         self.assertEqual(self.data.meta_data['loader'], "CanSAS XML 1D") 
     349        self.assertEqual(self.data.sample.transmission, 0.327) 
     350         
     351        self.assertEqual(self.data.meta_data['loader'], "CanSAS 1D") 
    352352        print self.data.errors 
    353353        self.assertEqual(len(self.data.errors), 1) 
     
    385385 
    386386if __name__ == '__main__': 
    387     unittest.main() 
     387    unittest.main(testRunner=unittest.TextTestRunner(verbosity=2)) 
Note: See TracChangeset for help on using the changeset viewer.