Changeset 998ca90 in sasview for src/sas/sasgui/perspectives/fitting/pagestate.py
- Timestamp:
- Oct 7, 2016 12:21:40 PM (8 years ago)
- 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, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- ff3f5821
- Parents:
- cb823f0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/fitting/pagestate.py
re89aed5 r998ca90 378 378 379 379 rep += "State created: %s\n" % time_str 380 rep += "State form factor combobox selection: %s\n" % self.formfactorcombobox 381 rep += "State structure factor combobox selection: %s\n" % self.structurecombobox 380 rep += "State form factor combobox selection: %s\n" % \ 381 self.formfactorcombobox 382 rep += "State structure factor combobox selection: %s\n" % \ 383 self.structurecombobox 382 384 rep += "is data : %s\n" % self.is_data 383 385 rep += "data's name : %s\n" % self.data_name … … 639 641 640 642 Compatible with standalone writing, or appending to an 641 already existing XML document. In that case, the XML document 642 isrequired. An optional entry node in the XML document may also be given.643 already existing XML document. In that case, the XML document is 644 required. An optional entry node in the XML document may also be given. 643 645 644 646 :param file: file to write to 645 647 :param doc: XML document object [optional] 646 :param entry_node: XML node within the XML document at which we will append the data [optional]647 648 :param entry_node: XML node within the XML document at which we 649 will append the data [optional] 648 650 """ 649 651 from xml.dom.minidom import getDOMImplementation … … 744 746 for item in LIST_OF_STATE_PARAMETERS: 745 747 element = newdoc.createElement(item[0]) 746 self._toXML_helper(thelist=getattr(self, item[1]), element=element, newdoc=newdoc) 748 self._toXML_helper(thelist=getattr(self, item[1]), 749 element=element, newdoc=newdoc) 747 750 inputs.appendChild(element) 748 751 … … 761 764 batch_combo.appendChild(constraints) 762 765 for constraint in batch_fit_state.constraints_list: 763 # model_cbox, param_cbox, egal_txt, constraint, btRemove, sizer 764 doc_cons = newdoc.createElement('constraint') 765 doc_cons.setAttribute('model_cbox', 766 str(constraint.model_cbox.GetValue())) 767 doc_cons.setAttribute('param_cbox', 768 str(constraint.param_cbox.GetValue())) 769 doc_cons.setAttribute('egal_txt', 770 str(constraint.egal_txt.GetLabel())) 771 doc_cons.setAttribute('constraint', 772 str(constraint.constraint.GetValue())) 773 constraints.appendChild(doc_cons) 766 if constraint.model_cbox.GetValue() != "": 767 # model_cbox, param_cbox, egal_txt, constraint, btRemove, sizer 768 doc_cons = newdoc.createElement('constraint') 769 doc_cons.setAttribute('model_cbox', 770 str(constraint.model_cbox.GetValue())) 771 doc_cons.setAttribute('param_cbox', 772 str(constraint.param_cbox.GetValue())) 773 doc_cons.setAttribute('egal_txt', 774 str(constraint.egal_txt.GetLabel())) 775 doc_cons.setAttribute('constraint', 776 str(constraint.constraint.GetValue())) 777 constraints.appendChild(doc_cons) 774 778 775 779 # Save all models … … 912 916 value = cls.type 913 917 except Exception: 914 logging.error("unable to load distribution %r for %s"915 918 base = "unable to load distribution %r for %s" 919 logging.error(base % (value, parameter)) 916 920 continue 917 921 _disp_obj_dict = getattr(self, varname) … … 1036 1040 raise RuntimeError, "The cansas writer expects a Data2D instance" 1037 1041 1042 title = "cansas1d/%s" % self.version 1043 title += "http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd" 1038 1044 doc = xml.dom.minidom.Document() 1039 1045 main_node = doc.createElement("SASroot") 1040 1046 main_node.setAttribute("version", self.version) 1041 1047 main_node.setAttribute("xmlns", "cansas1d/%s" % self.version) 1042 main_node.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")1043 main_node.setAttribute("xsi:schemaLocation",1044 "cansas1d/%s http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd" % self.version)1048 main_node.setAttribute("xmlns:xsi", 1049 "http://www.w3.org/2001/XMLSchema-instance") 1050 main_node.setAttribute("xsi:schemaLocation", title) 1045 1051 1046 1052 doc.appendChild(main_node) … … 1051 1057 write_node(doc, entry_node, "Title", datainfo.title) 1052 1058 if datainfo is not None: 1053 write_node(doc, entry_node, "data_class", datainfo.__class__.__name__) 1059 write_node(doc, entry_node, "data_class", 1060 datainfo.__class__.__name__) 1054 1061 for item in datainfo.run: 1055 1062 runname = {} 1056 if datainfo.run_name.has_key(item) and len(str(datainfo.run_name[item])) > 1: 1063 if datainfo.run_name.has_key(item) and \ 1064 len(str(datainfo.run_name[item])) > 1: 1057 1065 runname = {'name': datainfo.run_name[item]} 1058 1066 write_node(doc, entry_node, "Run", item, runname) … … 1313 1321 namespaces={'ns': CANSAS_NS}) 1314 1322 model_list_items = model_list[0].xpath('ns:model_list_item', 1315 1323 namespaces={'ns': CANSAS_NS}) 1316 1324 for model in model_list_items: 1317 1325 attrs = model.attrib 1318 1326 sim_fit_state.model_list.append(attrs) 1327 1319 1328 constraints = simfitstate_0.xpath('ns:constraints', 1320 1329 namespaces={'ns': CANSAS_NS}) 1321 1330 constraint_list = constraints[0].xpath('ns:constraint', 1322 1331 namespaces={'ns': CANSAS_NS}) 1323 1332 for constraint in constraint_list: 1324 1333 attrs = constraint.attrib … … 1388 1397 data_info.notes.append(note_value) 1389 1398 except Exception: 1390 err_mess = "cansas_reader.read: error processing entry notes\n %s" % sys.exc_value 1399 err_mess = "cansas_reader.read: error processing entry notes\n" 1400 err_mess += " %s" % sys.exc_value 1391 1401 self.errors.append(err_mess) 1392 1402 logging.error(err_mess) … … 1398 1408 1399 1409 self._store_content('ns:SASsample/ns:ID', dom, 'ID', data_info.sample) 1400 self._store_float('ns:SASsample/ns:thickness', dom, 'thickness', data_info.sample) 1401 self._store_float('ns:SASsample/ns:transmission', dom, 'transmission', data_info.sample) 1402 self._store_float('ns:SASsample/ns:temperature', dom, 'temperature', data_info.sample) 1403 1404 nodes = dom.xpath('ns:SASsample/ns:details', namespaces={'ns': CANSAS_NS}) 1410 self._store_float('ns:SASsample/ns:thickness', dom, 'thickness', 1411 data_info.sample) 1412 self._store_float('ns:SASsample/ns:transmission', dom, 'transmission', 1413 data_info.sample) 1414 self._store_float('ns:SASsample/ns:temperature', dom, 'temperature', 1415 data_info.sample) 1416 1417 nodes = dom.xpath('ns:SASsample/ns:details', 1418 namespaces={'ns': CANSAS_NS}) 1405 1419 for item in nodes: 1406 1420 try: … … 1410 1424 data_info.sample.details.append(detail_value) 1411 1425 except Exception: 1412 err_mess = "cansas_reader.read: error processing sample details\n %s" % sys.exc_value 1426 err_mess = "cansas_reader.read: error processing entry notes\n" 1427 err_mess += " %s" % sys.exc_value 1413 1428 self.errors.append(err_mess) 1414 1429 logging.error(err_mess) 1415 1430 1416 1431 # Position (as a vector) 1417 self._store_float('ns:SASsample/ns:position/ns:x', dom, 'position.x', data_info.sample) 1418 self._store_float('ns:SASsample/ns:position/ns:y', dom, 'position.y', data_info.sample) 1419 self._store_float('ns:SASsample/ns:position/ns:z', dom, 'position.z', data_info.sample) 1432 self._store_float('ns:SASsample/ns:position/ns:x', dom, 'position.x', 1433 data_info.sample) 1434 self._store_float('ns:SASsample/ns:position/ns:y', dom, 'position.y', 1435 data_info.sample) 1436 self._store_float('ns:SASsample/ns:position/ns:z', dom, 'position.z', 1437 data_info.sample) 1420 1438 1421 1439 # Orientation (as a vector) … … 1551 1569 process.term.append(term_attr) 1552 1570 except: 1553 err_mess = "cansas_reader.read: error processing process term\n %s" % sys.exc_value 1571 err_mess = "cansas_reader.read: error processing " 1572 err_mess += "entry notes\n %s" % sys.exc_value 1554 1573 self.errors.append(err_mess) 1555 1574 logging.error(err_mess) … … 1579 1598 value_list = [] 1580 1599 if field is not None: 1581 value_list = [parse_entry_helper(node, item) for node in field] 1600 value_list = \ 1601 [parse_entry_helper(node, item) for node in field] 1582 1602 if len(value_list) < 2: 1583 1603 setattr(data_info, item[0], None) … … 1613 1633 entry_list = root.xpath('ns:SASentry', 1614 1634 namespaces={'ns': CANSAS_NS}) 1635 name_map = {} 1615 1636 for entry in entry_list: 1616 1637 try:
Note: See TracChangeset
for help on using the changeset viewer.