Changeset 801 for TI07-MOLES/trunk


Ignore:
Timestamp:
20/04/06 08:44:04 (13 years ago)
Author:
lawrence
Message:

Fixing xpath problem (need real ElementPath? to be present)

Location:
TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi
Files:
1 added
2 edited

Legend:

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

    r800 r801  
    9090                try: 
    9191                        self.b=stubB(self.uri) 
    92                         self.session.addToHistory(self.b.name,self.b.Burl) 
     92                        self.session.addToHistory(self.b.Burl,self.b.name) 
    9393                except 'NotFound': 
    9494                        return self.error('URI cannot be retrieved from DataBase') 
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/stubB.py

    r800 r801  
    2323                #so we don't need (or want) that in our xpath expressions. 
    2424                self.name=self.wrapGetText(self.tree,'name') 
     25                #watch out, we need the real ElementPath to be present for these to work ...  
     26                # (not just the simple version inside ElementTree ... it needs ElementPath!) 
     27                host=''# bodge 
    2528                self.abstract=self.wrapGetText(self.tree,'dgMetadataDescription/abstract/abstractText') 
    26                 self.Burl=self.bind2service('browse.py',self.tree.find('dgMetadataID')) 
     29                self.Burl=self.bind2service(host,'browse.py',self.tree.find('dgMetadataID')) 
    2730                #are there going to be multiple granules? 
    2831                ndgAelement=self.tree.find('dgDataEntity/dgDataGranule/dataModelID') 
    29                 self.Aurl=self.bind2service('aservice',ndgAelement) 
    30                  
    31         def wrapGetText(element,self,xpathExpression): 
     32                self.Aurl=self.bind2service(host,'aservice',ndgAelement) 
     33                if xsltMethod is 'local': 
     34                        for item in self.tree: print item.tag 
     35                        print self.name 
     36                        print self.abstract 
     37                        print self.Burl 
     38                        print self.Aurl 
     39        def wrapGetText(self,element,xpathExpression): 
    3240                ''' Wraps a call to ET to get a text object in an error handler ''' 
    3341                try: 
    3442                        r= element.find(xpathExpression).text 
    3543                except: 
    36                         r='Metadata Element Not Found' 
     44                        r='Metadata Element [%s] Not Found'%xpathExpression 
    3745                return r  
    3846 
    39         def bind2service(self,service,ndgAelement): 
     47        def bind2service(self,host,service,ndgElement): 
    4048                '''Takes the various parts of an  id and bind to a service to produce a URL''' 
    4149                ### very temporary code ### 
    4250                try: 
    43                         repID=ndgAelement.find('repositoryidentifer').text 
    44                         url='http://%s/%s?uri=%s/%s'%(service,repID,repID,ndgAelement.find('localidentifier')) 
     51                        repID=ndgElement.find('repositoryIdentifier').text 
     52                        url='%s/%s?uri=%s/%s'%(host,service,repID,ndgElement.find('localIdentifier').text) 
    4553                        return url 
    4654                except: 
Note: See TracChangeset for help on using the changeset viewer.