Ignore:
Timestamp:
12/06/06 17:25:05 (13 years ago)
Author:
lawrence
Message:

Browse look and feel changes ... improved error handling
if security services not available ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/ServiceBinding.py

    r1152 r1158  
    2626        '''  Return an actual endpoint for a given service from the data provider, e.g. 
    2727        for ndg_a_service,badc.nerc.ac.uk get http://superglue.badc.rl.ac.uk/cgi-bin/browse.py ''' 
    28         serviceType=serviceType.upper() 
     28        serviceType=serviceType.upper() # ought to be redundant ... 
    2929        r=self.get(serviceType,dataProvider) 
    3030        if r is None: 
     
    6262            # regrettably we used different things in our ID's than we did in 
    6363            # our difs : 
    64             self.mapping={'NDG-A0':'NDG_A_Service','NDG-B0':'NDG_B_Service'} 
     64            self.mapping={'NDG-A0':'NDG_A_Service','NDG-B0':'NDG_B_Service', 
     65            'NDG-B1':'NDG_B_SERVICE'} 
    6566            self.serviceMap=ServiceMap(serviceFile=serviceFile) 
    6667            self.name=n 
     
    7879            r=wrapGetText(elem,'repositoryIdentifier') 
    7980            l=wrapGetText(elem,'localIdentifier') 
    80             if s in self.mapping: s=self.mapping[s] 
     81            if s in self.mapping: s=self.mapping[s].upper() 
    8182            b=self.serviceMap.do(s,r) 
    82             if uri=='local': 
    83                 uri=l 
    84             elif uri=='stubB': 
    85                 uri='%s/%s'%(r,l) 
     83            uri=self.__makeuri(s,r,l) 
    8684            self.url='%s?uri=%s'%(b,uri) 
    8785            self.serviceType=s 
     
    9896            #</Related_URL> 
    9997            self.description=wrapGetText(elem,'Description') 
    100             self.serviceType=wrapGetText(elem,'URL_Content_Type') 
    101             if self.serviceType!='': 
    102                 b=self.serviceMap.do(self.serviceType,wrapGetText(elem,'URL')) 
     98            s=wrapGetText(elem,'URL_Content_Type') 
     99            self.serviceType=s 
     100            if s!='': 
     101                r=wrapGetText(elem,'URL') 
     102                b=self.serviceMap.do(s,r) 
    103103                l=wrapGetText(idelem,'localIdentifier') 
    104                 self.url='%s?uri=%s'%(b,l) 
     104                uri=self.__makeuri(s,r,l) 
     105                self.url='%s?uri=%s'%(b,uri) 
    105106            else: 
    106107                self.url=wrapGetText(elem,'URL') 
    107             f=file('tmplog.log','a') 
    108             f.write(self.serviceType+'#'+self.url+'#'+self.icon()) 
    109             f.close() 
    110108            return self 
    111109        def __str__(self): 
     
    113111            return hyperlink(self.name,self.url) 
    114112        def icon(self): 
    115             ''' return icon html link ''' 
     113            ''' return html icon linking to specific service ''' 
    116114            return hyperlink(image(self.serviceMap.icon,self.serviceMap.iconalt),self.url) 
    117                  
     115        def __makeuri(self,s,b,l): 
     116            ''' Actually create the URL ''' 
     117            if s=='NDG_B_SERVICE': 
     118                uri='%s/%s'%(b,l) 
     119            else: 
     120                uri=l 
     121            return uri 
     122             
    118123if __name__=="__main__": 
    119124        import ElementTree as ET 
Note: See TracChangeset for help on using the changeset viewer.