Ignore:
Timestamp:
Jan 10, 2011 10:42:27 AM (14 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
3658abed
Parents:
d65a00a
Message:

make pr plugin inheriting from pluginbase in guiframe

File:
1 edited

Legend:

Unmodified
Added
Removed
  • prview/perspectives/pr/inversion_state.py

    rb35d3d1 r3e41f43  
    1111 
    1212 
    13 import time, os, sys 
     13import time 
     14import os 
     15import sys 
    1416import logging 
    15 import DataLoader 
    1617from xml.dom.minidom import parse 
    1718from lxml import etree 
    18  
     19import DataLoader 
    1920from DataLoader.readers.cansas_reader import Reader as CansasReader 
    2021from DataLoader.readers.cansas_reader import get_content 
     
    136137        Compatible with standalone writing, or appending to an 
    137138        already existing XML document. In that case, the XML document 
    138         is required. An optional entry node in the XML document may also be given. 
     139        is required. An optional entry node in the XML document  
     140        may also be given. 
    139141         
    140142        :param file: file to write to 
     
    188190        for item in in_list: 
    189191            element = newdoc.createElement(item[0]) 
    190             exec "element.appendChild(newdoc.createTextNode(str(self.%s)))" % item[1] 
     192            cmd = "element.appendChild(newdoc.createTextNode(str(self.%s)))" 
     193            exec  cmd % item[1] 
    191194            inputs.appendChild(element) 
    192195               
     
    197200        for item in out_list: 
    198201            element = newdoc.createElement(item[0]) 
    199             exec "element.appendChild(newdoc.createTextNode(str(self.%s)))" % item[1] 
     202            cmd = "element.appendChild(newdoc.createTextNode(str(self.%s)))" 
     203            exec  cmd % item[1] 
    200204            outputs.appendChild(element) 
    201205                     
     
    226230        """ 
    227231        if file is not None: 
    228             raise RuntimeError, "InversionState no longer supports non-CanSAS format for P(r) files" 
    229              
    230         if node.get('version')\ 
    231             and node.get('version') == '1.0': 
     232            msg = "InversionState no longer supports non-CanSAS" 
     233            msg += " format for P(r) files" 
     234            raise RuntimeError, msg 
     235             
     236        if node.get('version') and node.get('version') == '1.0': 
    232237             
    233238            # Get file name 
     
    242247                    self.timestamp = float(entry.get('epoch')) 
    243248                except: 
    244                     logging.error("InversionState.fromXML: Could not read timestamp\n %s" % sys.exc_value) 
     249                    msg = "InversionState.fromXML: Could not read " 
     250                    msg += "timestamp\n %s" % sys.exc_value 
     251                    logging.error(msg) 
    245252             
    246253            # Parse inversion inputs 
     
    251258                    if input_field is not None: 
    252259                        try: 
    253                             exec 'self.%s = float(input_field.text.strip())' % item[1] 
     260                            cmd = 'self.%s = float(input_field.text.strip())'  
     261                            exec  cmd % item[1] 
    254262                        except: 
    255263                            exec 'self.%s = None' % item[1] 
     
    269277                    if input_field is not None: 
    270278                        try: 
    271                             exec 'self.%s = float(input_field.text.strip())' % item[1] 
     279                            cmd = 'self.%s = float(input_field.text.strip())' 
     280                            exec  cmd % item[1] 
    272281                        except: 
    273282                            exec 'self.%s = None' % item[1] 
     
    292301                    # Sanity check 
    293302                    if not len(self.coefficients) == self.nfunc: 
    294                         # Inconsistent number of coefficients. Don't keep the data. 
    295                         err_msg = "InversionState.fromXML: inconsistant number of coefficients: " 
    296                         err_msg += "%d %d" % (len(self.coefficients), self.nfunc) 
     303                        # Inconsistent number of coefficients. 
     304                        # Don't keep the data. 
     305                        err_msg = "InversionState.fromXML: inconsistant " 
     306                        err_msg += "number of coefficients: " 
     307                        err_msg += "%d %d" % (len(self.coefficients), 
     308                                              self.nfunc) 
    297309                        logging.error(err_msg) 
    298310                        self.coefficients = None 
     
    328340                        # Inconsistent dimensions of the covariance matrix. 
    329341                        # Don't keep the data. 
    330                         err_msg = "InversionState.fromXML: inconsistant dimensions of the covariance matrix: " 
     342                        err_msg = "InversionState.fromXML: " 
     343                        err_msg += "inconsistant dimensions of the " 
     344                        err_msg += " covariance matrix: " 
    331345                        err_msg += "%d %d" % (len(self.covariance), self.nfunc) 
    332346                        logging.error(err_msg) 
     
    344358            "SANSView files (*.svs)|*.svs"] 
    345359    ## List of allowed extensions 
    346     ext=['.prv', '.PRV', '.svs', '.SVS']   
     360    ext = ['.prv', '.PRV', '.svs', '.SVS']   
    347361     
    348362    def __init__(self, call_back, cansas=True): 
     
    406420        # Locate the P(r) node 
    407421        try: 
    408             nodes = entry.xpath('ns:%s' % PRNODE_NAME, namespaces={'ns': CANSAS_NS}) 
     422            nodes = entry.xpath('ns:%s' % PRNODE_NAME, 
     423                                namespaces={'ns': CANSAS_NS}) 
    409424            if nodes !=[]: 
    410425                # Create an empty state 
     
    412427                state.fromXML(node=nodes[0]) 
    413428        except: 
    414             logging.info("XML document does not contain P(r) information.\n %s" % sys.exc_value) 
     429            msg = "XML document does not contain P(r) " 
     430            msg += "information.\n %s" % sys.exc_value 
     431            logging.info(msg) 
    415432             
    416433        return state 
     
    437454            #TODO: eventually remove the check for .xml once 
    438455            # the P(r) writer/reader is truly complete. 
    439             if  extension.lower() in self.ext or \ 
    440                 extension.lower() == '.xml': 
     456            if  extension.lower() in self.ext or extension.lower() == '.xml': 
    441457                 
    442458                tree = etree.parse(path, parser=etree.ETCompatXMLParser()) 
    443459                # Check the format version number 
    444                 # Specifying the namespace will take care of the file format version  
     460                # Specifying the namespace will take care of the file  
     461                #format version  
    445462                root = tree.getroot() 
    446463                 
    447                 entry_list = root.xpath('/ns:SASroot/ns:SASentry', namespaces={'ns': CANSAS_NS}) 
     464                entry_list = root.xpath('/ns:SASroot/ns:SASentry', 
     465                                        namespaces={'ns': CANSAS_NS}) 
    448466 
    449467                for entry in entry_list: 
     
    460478         
    461479        # Return output consistent with the loader's api 
    462         if len(output)==0: 
     480        if len(output) == 0: 
    463481            return None 
    464         elif len(output)==1: 
     482        elif len(output) == 1: 
    465483            # Call back to post the new state 
    466484            self.call_back(output[0].meta_data['prstate'], datainfo = output[0]) 
     
    498516            datainfo = DataLoader.data_info.Data1D(x=[], y=[])     
    499517        elif not issubclass(datainfo.__class__, DataLoader.data_info.Data1D): 
    500             raise RuntimeError, "The cansas writer expects a Data1D instance: %s" % str(datainfo.__class__.__name__) 
     518            msg = "The cansas writer expects a Data1D " 
     519            msg += "instance: %s" % str(datainfo.__class__.__name__) 
     520            raise RuntimeError, msg 
    501521     
    502522        # Create basic XML document 
Note: See TracChangeset for help on using the changeset viewer.