Ignore:
Timestamp:
16/06/06 14:17:07 (14 years ago)
Author:
astephen
Message:

Updated lots of stuff to get zsi working with version 2.0 or lower.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI04-geosplat/trunk/cgi/splatui

    r798 r1210  
    1919# Import SOAP library 
    2020from ZSI.client import Binding 
     21from ZSI.version import Version as zsiv 
     22zsiv=float("%s.%s" % zsiv[:2]) 
    2123         
    2224# Import package modules 
     
    4042        on the configuration and arguments provided. 
    4143        """ 
    42         self.username=None 
    43         self.password=None 
    44         self.secureToken=None 
     44        self.username="undefined" 
     45        self.password="undefined" 
     46        self.secureToken="undefined" 
    4547        self.userRoles=[] 
    4648        self.loginStatus="out" 
     
    7880                    CGIErrorHandler("Security error: "+str(sys.exc_type), noheader=0) 
    7981        else: 
    80             self.secureToken=None              
     82            self.secureToken="undefined"               
    8183             
    8284        # Call the dx Web Service with the arguments provided        
     
    119121            self.args[key]=args.getvalue(key)  
    120122                    
    121         if self.args.has_key("sessionID") and self.args["sessionID"]=="None": 
    122             self.args["sessionID"]=None      
     123        if self.args.has_key("sessionID") and self.args["sessionID"]=="undefined": 
     124            self.args["sessionID"]="undefined"       
    123125          
    124126        # Check for secure items, destroy if necessary and assign as instance variables     
     
    137139         
    138140        if not self.args.has_key("username"): 
    139             self.args["username"]=None 
     141            self.args["username"]="undefined" 
    140142                                     
    141143 
     
    186188         
    187189        #print "Content-Type: text/html\n\n" 
    188         #print self.args                       
    189         # Set up SOAP bindings 
    190         #trace=open('/tmp/tracefile.txt','w') 
    191         #self.server=Binding(url='', host=SOAP_SERVER_NAME, port=SOAP_SERVER_PORT, tracefile=trace)      
     190 
    192191        if CALL_METHOD.upper()=="WS": 
    193192            self.server=WSCaller() 
     
    238237                    self.args["targetPage"]="VariableSelectionPage" 
    239238                    fileURIs=self.args["fileURIList"].split() 
    240                     (optionCategories, options, optionStrings, secureToken)= \ 
    241                                  self.server.callServerMethod("provideFileURIs",  
     239                    resp=self.server.callServerMethod("provideFileURIs",  
    242240                                     [self.sessionID, self.secureToken, fileURIs]) 
    243                                                          
     241                 
     242                    if zsiv>=2.0: 
     243                        resp=resp[0] 
     244                    (optionCategories, options, optionStrings, secureToken)=apply(self._cleanOptsTuple, resp) 
     245                                 
    244246        # Make sure instance and args sessionID are the same 
    245247        self.args["sessionID"]=self.sessionID 
     
    265267        """            
    266268        # If no session then start a session and get a sessionID 
    267         if not self.args.has_key("sessionID") or self.args["sessionID"] in (None, "None"): 
     269        if not self.args.has_key("sessionID") or self.args["sessionID"] in ("undefined", None, "None"): 
    268270            # Start session if not known about 
    269             self.sessionID, self.secureToken=self.server.callServerMethod("startSession", 
    270                                                  [self.username, self.password, self.secureToken]) 
     271            resp=self.server.callServerMethod("startSession", [self.username, self.password, self.secureToken]) 
     272            #print resp 
     273            if zsiv>=2.0: 
     274                resp=resp[0] 
     275            self.sessionID, self.secureToken=resp 
    271276            return 1 
    272277        else: 
     
    295300        isCompleteStatus=0         
    296301        if self.args.has_key("isComplete"):      
    297             isCompleteStatus, self.secureToken=self.server.callServerMethod("isComplete",  
    298                                                       [self.sessionID, self.secureToken])      
     302            resp=self.server.callServerMethod("isComplete",                                            [self.sessionID, self.secureToken])   
     303            if zsiv>=2.0: 
     304                resp=resp[0]             
     305            isCompleteStatus, self.secureToken=resp 
     306    
    299307        return isCompleteStatus 
    300308         
     
    347355                return item[0].lower()+item[1:-4]            
    348356            optionCategory=tp2catMap(tp) 
    349             (optionCategories, options, optionStrings, secureToken)=self.server.callServerMethod("getOptions",  
    350                                                                          [self.sessionID, self.secureToken,  
    351                                                                          optionCategory]) 
     357            resp=self.server.callServerMethod("getOptions",                            [self.sessionID, self.secureToken, optionCategory]) 
     358            if zsiv>=2.0: 
     359                resp=resp[0] 
     360            (optionCategories, options, optionStrings, secureToken)=resp 
    352361        else:   
    353             (optionCategories, options, optionStrings, secureToken)=self.server.callServerMethod("selectOptions", 
    354                                                                        [self.sessionID, self._packArgsAsList(self.args)]) 
    355          
    356         return (optionCategories, options, optionStrings, secureToken) 
    357  
     362            resp=self.server.callServerMethod("selectOptions", [self.sessionID,                 self._packArgsAsList(self.args)]) 
     363            if zsiv>=2.0: 
     364                resp=resp[0] 
     365            (optionCategories, options, optionStrings, secureToken)=resp         
     366        return self._cleanOptsTuple(optionCategories, options, optionStrings, secureToken) 
     367 
     368 
     369    def _cleanOptsTuple(self, a,b,c,d): 
     370        return (a[0],b[0],c[0],d[0]) 
    358371 
    359372    def _respondToOptionCategories(self, optionCategories, options, optionStrings): 
     
    391404            self.displayer._displayMainTableFooter()     
    392405                 
    393         elif "plotType" in [i.split("_")[0] for i in optionCategories]: 
     406        elif optionCategories!=None and "plotType" in [i.split("_")[0] for i in optionCategories]: 
    394407            self.displayer._displayHTTPHeader()  
    395408            self.displayer._displayHTMLHeader() 
     
    405418                self.displayer._displayHTTPHeader()  
    406419                self.displayer._displayHTMLHeader() 
    407                 (summaryString, self.secureToken)=self.server.callServerMethod("summariseRequest",  
    408                                                           [self.sessionID, self.secureToken])        
     420                #(summaryString, self.secureToken) 
     421                resp=self.server.callServerMethod("summariseRequest",  
     422                                                          [self.sessionID, self.secureToken]) 
     423                if zsiv>=2.0: 
     424                    resp=resp[0] 
     425                summaryString, self.secureToken=resp 
     426                summaryString=summaryString[0] 
    409427                self.displayer._displayMainTableHeader(self.sessionID)    
    410428                self.displayer._displayConfirmationSection(summaryString) 
     
    419437                self.displayer._displayHTMLHeader()              
    420438                self.displayer._displayProcessingWaiter()    
    421                 outputFilePath, self.secureToken=self.server.callServerMethod("createOutput", [self.sessionID, self.secureToken]) 
     439                #outputFilePath, self.secureToken 
     440                resp=self.server.callServerMethod("createOutput", [self.sessionID, self.secureToken]) 
     441                if zsiv>=2.0: 
     442                    resp=resp[0] 
     443                outputFilePath, self.secureToken=resp 
     444                outputFilePath=outputFilePath[0] 
    422445                self.displayer._displayOutputFile(outputFilePath)                
    423446 
Note: See TracChangeset for help on using the changeset viewer.