Changeset 873 for TI01-discovery/trunk


Ignore:
Timestamp:
03/05/06 10:03:21 (14 years ago)
Author:
pjkersha
Message:

ZSI 1.6.0 with patch to allow handling of 'string' type in typeinterpreter.py.

Location:
TI01-discovery/trunk/python
Files:
1 added
1 edited

Legend:

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

    r872 r873  
     1#!/bin/env python 
     2 
    13from ZSI import ServiceProxy 
    24from ZSI.wstools.WSDLTools import WSDLReader 
    35import sys 
    4  
     6import os 
    57import pdb 
    68 
    79 
    8 def browseService(): 
     10def browseService(tracefile=sys.stdout): 
    911 
    1012    sessID = None 
    1113    try: 
    12         wr = WSDLReader() 
    13         wsdl = 'http://glue.badc.rl.ac.uk:8080/exist/services/Discovery?WSDL' 
     14        try: 
     15            wr = WSDLReader() 
     16            wsdl = 'http://glue.badc.rl.ac.uk:8080/exist/services/Discovery?WSDL' 
     17             
     18            srv = ServiceProxy(wsdl, use_wsdl=True, tracefile=tracefile) 
     19     
     20            #connectResp = srv.connect(in0='guest', in1='guest') 
     21            connectResp = srv.connect() 
     22            sessID = connectResp['connectReturn'] 
     23             
     24            print "________________________________________________________________________________" 
     25            print "Session ID \"%s\"" % sessID 
     26            print "________________________________________________________________________________" 
     27#            query = \ 
     28#                  "//dgMetadata/dgMetadataRecord/dgMetadataID/schemeIdentifier[. = 'NDG-B0']" 
     29#            query = \ 
     30#                  "//dgMetadata/dgMetadataRecord/dgMetadataID/localIdentifier[. = 'dataent1']" 
     31     
     32#           query = "acsoe" 
     33#            result = srv.xquery(in0=sessID, in1=query) 
     34#           result = srv.fullText(in0=sessID, in1=query) 
     35#        
     36#           query = "acsoe" 
     37#            result = srv.xquery(in0=sessID, in1=query) 
     38             
     39            result = srv.spatialSearch(in0=sessID,in1=85.5,in2=-49.5,in3=166.5,in4=-9); 
     40            print "________________________________________________________________________________" 
     41            print "Spatial Search" 
     42            xqueryReturn=result['spatialSearchReturn'] 
     43            print "________________________________________________________________________________" 
     44             
     45            # Temporal Search 
     46#            result = srv.temporalSearch(in0=sessID,in1="1900-01-01",in2="2000-01-01"); 
     47#            xqueryReturn=result['temporalSearchReturn'] 
     48             
     49             
     50            for item in xqueryReturn.keys(): print item#,xqueryReturn[item] 
     51     
     52           # result = srv.getResource(in0=sessID, 
     53            #                         in1=u'/db/ndg_B_metadata/mcf_MDM_ACSOE_BV102_F.xml', 
     54           #                          in2=0,in3=0) 
     55           # print result 
     56            #works fine. 
     57     
     58            print 'QueryTime='+str(xqueryReturn['queryTime']) 
     59            print 'Hits='+str(xqueryReturn['hits']) 
     60     
     61           # hits=xqueryReturn['hits'][0] 
     62             
     63            howmany=1 
     64            start=1 
     65            highlight=u'none' 
     66            xinclude=1 
     67            indent=0 
     68     
     69            #range(10)*howmany 
     70            #for i in [j*howmany+1 for j in range(1+hits/howmany)]: 
     71     
     72            #nb need explicit keyword names!!!  
     73            sets=srv.retrieve(in0=sessID, 
     74                                  in1=start, 
     75                                  in2=howmany, 
     76                                  in3=indent, 
     77                                  in4=xinclude, 
     78                                  in5=highlight) 
     79            #  
     80            for item in sets.keys(): print item 
     81                 
     82            print sets['retrieveReturn']         
     83     
     84     
     85            return xqueryReturn 
    1486         
    15         srv = ServiceProxy(wsdl, use_wsdl=True)# tracefile=sys.stdout) 
    16         print dir(srv) 
    17  
    18         #connectResp = srv.connect(in0='guest', in1='guest') 
    19         connectResp = srv.connect() 
    20         sessID = connectResp['connectReturn'] 
    21          
    22         #query = \ 
    23         #      "//dgMetadata/dgMetadataRecord/dgMetadataID/schemeIdentifier[. = 'NDG-B0']" 
    24         #query = \ 
    25          #     "//dgMetadata/dgMetadataRecord/dgMetadataID/localIdentifier[. = 'dataent1']" 
    26  
    27         #query = "acsoe" 
    28         #result = srv.xquery(in0=sessID, in1=query) 
    29         #result = srv.fullText(in0=sessID, in1=query) 
    30          
    31         #query = "acsoe" 
    32         #result = srv.xquery(in0=sessID, in1=query) 
    33         #result = srv.spatialSearch(in0=sessID,in1=85.5,in2=-49.5,in3=166.5,in4=-9); 
    34         result = srv.temporalSearch(in0=sessID,in1="1900-01-01",in2="2000-01-01"); 
    35         #xqueryReturn=result['spatialSearchReturn'] 
    36         xqueryReturn=result['temporalSearchReturn'] 
    37         for item in xqueryReturn.keys(): print item#,xqueryReturn[item] 
    38  
    39        # result = srv.getResource(in0=sessID, 
    40         #                         in1=u'/db/ndg_B_metadata/mcf_MDM_ACSOE_BV102_F.xml', 
    41        #                          in2=0,in3=0) 
    42        # print result 
    43         #works fine. 
    44  
    45         print 'QueryTime='+str(xqueryReturn['queryTime']) 
    46         print 'Hits='+str(xqueryReturn['hits']) 
    47  
    48        # hits=xqueryReturn['hits'][0] 
    49          
    50         howmany=1 
    51         start=1 
    52         highlight=u'none' 
    53         xinclude=1 
    54         indent=0 
    55  
    56         #range(10)*howmany 
    57         #for i in [j*howmany+1 for j in range(1+hits/howmany)]: 
    58  
    59         #nb need explicit keyword names!!!  
    60         sets=srv.retrieve(in0=sessID, 
    61                               in1=start, 
    62                               in2=howmany, 
    63                               in3=indent, 
    64                               in4=xinclude, 
    65                               in5=highlight) 
    66         #  
    67         for item in sets.keys(): print item 
    68          
    69         print sets['retrieveReturn']     
    70  
    71  
    72          
    73         return xqueryReturn 
    74          
     87        except Exception, e: 
     88            raise Exception(str(e)+os.linesep) 
    7589    finally: 
    7690        if sessID is not None: srv.disconnect(in0=sessID) 
     
    7993if __name__ == '__main__': 
    8094 
    81     result=browseService() 
     95    result=browseService(tracefile=None) 
    8296    #for item in result.keys(): 
    8397    #    print item,result[item] 
Note: See TracChangeset for help on using the changeset viewer.