Changeset 4baf505 in sasview
- Timestamp:
- Sep 15, 2016 6:33:57 AM (8 years ago)
- Branches:
- 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
- Children:
- 661bd79
- Parents:
- a9d3abb
- git-author:
- Jeff Krzywon <krzywon@…> (08/19/16 07:03:10)
- git-committer:
- Piotr Rozyczko <rozyczko@…> (09/15/16 06:33:57)
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/dataloader/readers/cansas_reader.py
r158cb9e r4baf505 206 206 # Go through each child in the parent element 207 207 for node in dom: 208 attr = node.attrib 209 name = attr.get("name", "") 210 type = attr.get("type", "") 208 211 # Get the element name and set the current names level 209 212 tagname = node.tag.replace(self.base_ns, "") … … 223 226 ## Recursion step to access data within the group 224 227 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 225 237 self.add_intermediate() 226 238 else: … … 229 241 ## If this is a dataset, store the data appropriately 230 242 if tagname == 'Run': 243 self.current_datainfo.run_name[data_point] = name 231 244 self.current_datainfo.run.append(data_point) 232 245 elif tagname == 'Title': … … 369 382 self.process.notes.append(data_point) 370 383 elif tagname == 'term' and self.parent_class == 'SASprocess': 371 self.process.term.append(data_point) 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) 372 390 373 391 ## Transmission Spectrum … … 531 549 self.current_datainfo.collimation.append(self.collimation) 532 550 self.collimation = Collimation() 533 elif self.parent_class == ' SASaperture':551 elif self.parent_class == 'aperture': 534 552 self.collimation.aperture.append(self.aperture) 535 553 self.aperture = Aperture() … … 646 664 err_msg = None 647 665 default_unit = None 648 if 'unit' in attr and attr.get('unit') is not None and not self.ns_list.ns_optional: 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: 649 669 try: 650 670 local_unit = attr['unit'] 651 if not isinstance(node_value, float):652 node_value = float(node_value)653 671 unitname = self.ns_list.current_level.get("unit", "") 654 672 if "SASdetector" in self.names: … … 907 925 self.write_node(point, "I", datainfo.y[i], 908 926 {'unit': datainfo.y_unit}) 909 if datainfo.dy !=None and len(datainfo.dy) > i:927 if datainfo.dy is not None and len(datainfo.dy) > i: 910 928 self.write_node(point, "Idev", datainfo.dy[i], 911 929 {'unit': datainfo.y_unit}) 912 if datainfo.dx !=None and len(datainfo.dx) > i:930 if datainfo.dx is not None and len(datainfo.dx) > i: 913 931 self.write_node(point, "Qdev", datainfo.dx[i], 914 932 {'unit': datainfo.x_unit}) 915 if datainfo.dxw !=None and len(datainfo.dxw) > i:933 if datainfo.dxw is not None and len(datainfo.dxw) > i: 916 934 self.write_node(point, "dQw", datainfo.dxw[i], 917 935 {'unit': datainfo.x_unit}) 918 if datainfo.dxl !=None and len(datainfo.dxl) > i:936 if datainfo.dxl is not None and len(datainfo.dxl) > i: 919 937 self.write_node(point, "dQl", datainfo.dxl[i], 920 938 {'unit': datainfo.x_unit}) … … 1184 1202 if isinstance(term, list): 1185 1203 value = term['value'] 1204 del term['value'] 1205 elif isinstance(term, dict): 1206 value = term.get("value") 1186 1207 del term['value'] 1187 1208 else: -
test/sasdataloader/test/utest_abs_reader.py
rb699768 r4baf505 176 176 177 177 self.assertEqual(self.data.run[0], "1234") 178 self.assertEqual(self.data.meta_data['loader'], "CanSAS 1D") 179 self.assertEqual(len(self.data.errors), 0) 178 self.assertEqual(self.data.meta_data['loader'], "CanSAS XML 1D") 180 179 181 180 # Data … … 198 197 self.assertEqual(self.data.sample.name, "my sample") 199 198 self.assertEqual(self.data.sample.thickness_unit, 'mm') 200 self.assert Equal(self.data.sample.thickness, 1.03)201 202 self.assert Equal(self.data.sample.transmission, 0.327)199 self.assertAlmostEqual(self.data.sample.thickness, 1.03) 200 201 self.assertAlmostEqual(self.data.sample.transmission, 0.327) 203 202 204 203 self.assertEqual(self.data.sample.temperature_unit, 'C') … … 233 232 234 233 self.assertEqual(self.data.source.wavelength_max_unit, "nm") 235 self.assert Equal(self.data.source.wavelength_max, 1.0)234 self.assertAlmostEqual(self.data.source.wavelength_max, 1.0) 236 235 self.assertEqual(self.data.source.wavelength_min_unit, "nm") 237 self.assert Equal(self.data.source.wavelength_min, 0.22)236 self.assertAlmostEqual(self.data.source.wavelength_min, 0.22) 238 237 self.assertEqual(self.data.source.wavelength_spread_unit, "percent") 239 238 self.assertEqual(self.data.source.wavelength_spread, 14.3) … … 248 247 self.assertEqual(item.size_unit,'mm') 249 248 self.assertEqual(item.distance_unit,'mm') 250 249 251 250 if item.size.x==50 \ 252 251 and item.distance==11000.0 \ … … 294 293 self.assertTrue(item.date in ['04-Sep-2007 18:35:02', 295 294 '03-SEP-2006 11:42:47']) 295 print item.term 296 296 for t in item.term: 297 297 if t['name']=="ABS:DSTAND" \ … … 345 345 self.assertEqual(self.data.filename, filename) 346 346 # The followed should not have been loaded 347 self.assert Equal(self.data.sample.thickness, 0.00103)347 self.assertAlmostEqual(self.data.sample.thickness, 0.00103) 348 348 # This one should 349 self.assert Equal(self.data.sample.transmission, 0.327)350 351 self.assertEqual(self.data.meta_data['loader'], "CanSAS 1D")349 self.assertAlmostEqual(self.data.sample.transmission, 0.327) 350 351 self.assertEqual(self.data.meta_data['loader'], "CanSAS XML 1D") 352 352 print self.data.errors 353 353 self.assertEqual(len(self.data.errors), 1) … … 385 385 386 386 if __name__ == '__main__': 387 unittest.main( testRunner=unittest.TextTestRunner(verbosity=2))387 unittest.main()
Note: See TracChangeset
for help on using the changeset viewer.