Changeset 57b48ab in sasview


Ignore:
Timestamp:
Sep 1, 2017 4:49:29 AM (7 years ago)
Author:
lewis
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, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
6f9abd3
Parents:
f1495ff
Message:

Revert "Update Sum/Multi? model to use better string formatting"

This reverts commit 9f703d077a30b715703519ef5298cdd09bf36b39.
This commit has been moved to a different branch (ticket-767)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/calculator/model_editor.py

    rf1495ff r57b48ab  
    496496        if operator == '*': 
    497497            name = 'Multi' 
    498             factor = 'background' 
     498            factor = 'BackGround' 
    499499            f_oper = '+' 
    500500        else: 
     
    535535        if description == '': 
    536536            description = name1 + self._operator + name2 
    537         operator_text = self._operator_choice.GetValue() 
    538         if '+' in operator_text: 
     537        text = self._operator_choice.GetValue() 
     538        if text.count('+') > 0: 
    539539            factor = 'scale_factor' 
    540540            f_oper = '*' 
    541541            default_val = '1.0' 
    542542        else: 
    543             factor = 'background' 
     543            factor = 'BackGround' 
    544544            f_oper = '+' 
    545545            default_val = '0.0' 
     
    549549        except: 
    550550            raise 
    551         output = SUM_TEMPLATE.format(model1=name1, model2=name2,  
    552             scale_factor_default=default_val, factor_operator=f_oper, 
    553             operator=self._operator, description=description) 
    554         output = output.replace("scale_factor", factor) 
    555         out_f.write(output + "\n") 
     551        lines = SUM_TEMPLATE.split('\n') 
     552        for line in lines: 
     553            try: 
     554                if line.count("scale_factor"): 
     555                    line = line.replace('scale_factor', factor) 
     556                    #print "scale_factor", line 
     557                if line.count("= %s"): 
     558                    out_f.write(line % (default_val) + "\n") 
     559                elif line.count("import Model as P1"): 
     560                    if self.is_p1_custom: 
     561                        line = line.replace('#', '') 
     562                        out_f.write(line % name1 + "\n") 
     563                    else: 
     564                        out_f.write(line + "\n") 
     565                elif line.count("import %s as P1"): 
     566                    if not self.is_p1_custom: 
     567                        line = line.replace('#', '') 
     568                        out_f.write(line % (name1) + "\n") 
     569                    else: 
     570                        out_f.write(line + "\n") 
     571                elif line.count("import Model as P2"): 
     572                    if self.is_p2_custom: 
     573                        line = line.replace('#', '') 
     574                        out_f.write(line % name2 + "\n") 
     575                    else: 
     576                        out_f.write(line + "\n") 
     577                elif line.count("import %s as P2"): 
     578                    if not self.is_p2_custom: 
     579                        line = line.replace('#', '') 
     580                        out_f.write(line % (name2) + "\n") 
     581                    else: 
     582                        out_f.write(line + "\n") 
     583                elif line.count("P1 = find_model"): 
     584                    out_f.write(line % (name1) + "\n") 
     585                elif line.count("P2 = find_model"): 
     586                    out_f.write(line % (name2) + "\n") 
     587 
     588                elif line.count("self.description = '%s'"): 
     589                    out_f.write(line % description + "\n") 
     590                #elif line.count("run") and line.count("%s"): 
     591                #    out_f.write(line % self._operator + "\n") 
     592                #elif line.count("evalDistribution") and line.count("%s"): 
     593                #    out_f.write(line % self._operator + "\n") 
     594                elif line.count("return") and line.count("%s") == 2: 
     595                    #print "line return", line 
     596                    out_f.write(line % (f_oper, self._operator) + "\n") 
     597                elif line.count("out2")and line.count("%s"): 
     598                    out_f.write(line % self._operator + "\n") 
     599                else: 
     600                    out_f.write(line + "\n") 
     601            except: 
     602                raise 
    556603        out_f.close() 
     604        #else: 
     605        #    msg = "Name exists already." 
    557606 
    558607    def compile_file(self, path): 
     
    12451294    def __init__(self, multiplicity=1): 
    12461295        Model1DPlugin.__init__(self, name='') 
    1247         P1 = find_model('{model1}') 
    1248         P2 = find_model('{model2}') 
     1296        P1 = find_model('%s') 
     1297        P2 = find_model('%s') 
    12491298        p_model1 = P1() 
    12501299        p_model2 = P2() 
    12511300        ## Setting  model name model description 
    1252         self.description = '{description}' 
     1301        self.description = '%s' 
    12531302        if self.name.rstrip().lstrip() == '': 
    12541303            self.name = self._get_name(p_model1.name, p_model2.name) 
     
    12621311 
    12631312        ## Parameter details [units, min, max] 
    1264         self.details = {{}} 
     1313        self.details = {} 
    12651314        ## Magnetic Panrameters 
    12661315        self.magnetic_params = [] 
     
    12791328        self._set_params() 
    12801329        ## New parameter:scaling_factor 
    1281         self.params['scale_factor'] = {scale_factor_default} 
     1330        self.params['scale_factor'] = %s 
    12821331 
    12831332        ## Parameter details [units, min, max] 
     
    14891538    def run(self, x = 0.0): 
    14901539        self._set_scale_factor() 
    1491         return self.params['scale_factor'] {factor_operator} \ 
    1492 (self.p_model1.run(x) {operator} self.p_model2.run(x)) 
     1540        return self.params['scale_factor'] %s \ 
     1541(self.p_model1.run(x) %s self.p_model2.run(x)) 
    14931542 
    14941543    def runXY(self, x = 0.0): 
    14951544        self._set_scale_factor() 
    1496         return self.params['scale_factor'] {factor_operator} \ 
    1497 (self.p_model1.runXY(x) {operator} self.p_model2.runXY(x)) 
     1545        return self.params['scale_factor'] %s \ 
     1546(self.p_model1.runXY(x) %s self.p_model2.runXY(x)) 
    14981547 
    14991548    ## Now (May27,10) directly uses the model eval function 
     
    15011550    def evalDistribution(self, x = []): 
    15021551        self._set_scale_factor() 
    1503         return self.params['scale_factor'] {factor_operator} \ 
    1504 (self.p_model1.evalDistribution(x) {operator} \ 
     1552        return self.params['scale_factor'] %s \ 
     1553(self.p_model1.evalDistribution(x) %s \ 
    15051554self.p_model2.evalDistribution(x)) 
    15061555 
     
    15401589    #m2.p_model2.setParam("scale", 100) 
    15411590    #m2.p_model2.setParam("rg", 100) 
    1542     out2 = m2.p_model1.runXY(0.01) {operator} m2.p_model2.runXY(0.01)\n 
     1591    out2 = m2.p_model1.runXY(0.01) %s m2.p_model2.runXY(0.01)\n 
    15431592    print "My name is %s."% m1.name 
    15441593    print out1, " = ", out2 
Note: See TracChangeset for help on using the changeset viewer.