Changeset 933 for TI01-discovery


Ignore:
Timestamp:
16/05/06 09:53:35 (14 years ago)
Author:
lawrence
Message:

Further refactoring of DiscoveryWS in python. All the
methods are there now, but only full text works.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/trunk/python/DiscoveryWS.py

    r932 r933  
    3737    def SearchFullText(self,query): 
    3838        ''' Produce a result set from a full text query on the NDG database ''' 
     39        #known to work. 
    3940        result = self.srv.fullText(in0=self.sessID, in1=query) 
    4041        self.result=result['fullTextReturn'] 
     
    4243         
    4344         
    44     def __performance(self): 
    45         print 'QueryTime='+str(self.result['queryTime']) 
    46         print 'Hits='+str(self.result['hits']) 
     45     
     46         
     47    def Xquery(self,query): 
     48        ''' Create a result set based on an xquery over the database ''' 
     49        #this doesn't work properly ... 
     50        result=self.srv.xquery(in0=query,in1=self.sessID) 
     51         
     52    def SearchBoundingBox(self,bbox): 
     53        ''' Obtain a result set from a spatial search using a bounding box ''' 
     54        print bbox 
     55        result = self.srv.spatialSearch(in0=self.sessID, 
     56               in1=bbox[0],in2=bbox[1],in3=bbox[2],in4=bbox[3]) 
     57        print 'got a spatial result' 
     58        self.result=result['spatialSearchReturn'] 
    4759 
     60    def SearchTemporal(self,date1,date2): 
     61        ''' Obtain  a reset set from a temporal search using a standard 
     62        calendar ''' 
     63        ok=self.__checkdates(date1) 
     64        ok=self.__checkdates(date2) 
     65        result=self.srv.temporalSearch(in0=self.sessID,in1=date1,in2=date2) 
     66        self.result=result['temporalSearchReturn'] 
    4867         
    4968    def GetResults(self, 
     
    6887        self.srv.disconnect(in0=self.sessID) 
    6988 
     89    def __performance(self): 
     90        print 'QueryTime='+str(self.result['queryTime']) 
     91        print 'Hits='+str(self.result['hits']) 
     92         
     93    def __checkdates(self,date): 
     94        ''' Parse date for correctness wrt web service ''' 
     95        return 1 
     96 
     97def log(results,name): 
     98     
     99    f=file('output.'+name,'w') 
     100    for r in results:f.write(r+'\n') 
     101    f.close() 
     102     
     103 
    70104if __name__ == '__main__': 
    71105 
     
    74108    results=ws.GetResults(number=2) 
    75109    ws.release() 
    76     f=file('output.html','w') 
    77     for r in results:f.write(r+'\n') 
    78     f.close() 
     110    log(results,'fulltext') 
     111    print 'Successfully wrote full text file ' 
     112     
     113    # doesn't work 
     114    ss=DiscoveryWS() 
     115    ss.SearchBoundingBox([85.5,-49.5,166.5,-9.0]) 
     116    results=ss.GetResults() 
     117    ss.release() 
     118    log(results,'spatial') 
     119    print 'got past spatial' 
     120     
     121    #doesn't work 
     122    ts=DiscoveryWS() 
     123    ts.SearchTemporal('1999-01-01','2000-01-01') 
     124    results=ts.GetResults() 
     125    ts.release() 
     126    log(results,'temporal') 
     127    print 'got past temporal' 
     128 
     129    #doesn't work 
     130    xq=DiscoveryWS() 
     131    xquery=u"//dgMetadata/dgMetadataRecord/dgMetadataID/localIdentifier[. = 'dataent1']" 
     132    xq.Xquery(xquery) 
     133    print 'Successfully issued xquery' 
     134    xq.release() 
    79135  
Note: See TracChangeset for help on using the changeset viewer.