Ignore:
Timestamp:
28/03/07 20:48:55 (14 years ago)
Author:
lawrence
Message:

Now using the SOAP call for all discovery D calls, rather than XMLRPC
for discovery portability ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/PythonCode/wsgi/ndgRetrieve.py

    r2332 r2345  
    88from ndgObject import ndgObject 
    99from MDIP import MDIP 
     10from ndgSearch import ndgSearch 
    1011 
    1112# any class with a get method can be used here, and then only 
     
    1415 
    1516from DocumentRetrieve import DocumentRetrieve 
    16 debug=0 
     17debug=1 
    1718def retrieveFactory(global_config,**local_conf): 
    1819     
     
    5051            elif format=='MDIP': 
    5152                r=MDIP(xml) 
     53            else: 
     54                raise ValueError,'Unknown format [%s] for rendering'%format 
    5255            r=self.renderer.render(r) 
    5356        elif otype=='print': 
     
    103106         
    104107        if 'original' in inputs.keys(): ori=1 
    105          
    106108        try: 
    107109            outputType=inputs['type'] 
     
    124126                ws=self.WScursors[db] 
    125127            else: 
    126                 ws=DocumentRetrieve(db) 
     128                if db.upper()=='NDG': 
     129                    ws=ndgSearch() 
     130                else: 
     131                    ws=DocumentRetrieve(db) 
    127132                self.WScursors[db]=ws 
    128133            ok=1 
    129134            try: 
    130135                if ori: 
    131                     print 'Original Document Request' 
    132                     r=ws.getOriginal(uri.uri) 
    133                     print 'Succeeded' 
     136                #    r=ws.getOriginal(uri.uri) 
    134137                    if outputType=='html': outputType='print'  # sanity ...     
     138                #else: 
     139                if 'format' not in inputs.keys(): 
     140                    format='NDG-B0' 
    135141                else: 
    136                      
    137                     if 'format' not in inputs.keys(): 
    138                         format='NDG-B0' 
    139                     else: 
    140                         format=inputs['format'] 
    141                     print 'Request for %s format document'%inputs['format'] 
    142                     r=ws.get(uri.repository,uri.schema,uri.localID,format=format)        
     142                    format=inputs['format'] 
     143                print 'Request for %s format document'%inputs['format'] 
     144                r=ws.get(uri.repository,uri.schema,uri.localID,format=format)    
    143145                if isinstance(r,int): 
    144146                     r='<p> There are %s identifiers matching your request! </p>'%r 
     
    191193class TestCase(unittest.TestCase): 
    192194         
    193     def testOriginal(self): 
    194         ''' Tests the ability to obtain an original document ''' 
     195    def AtestOriginal(self): 
     196        ''' Tests the ability to obtain an original document via xmlrpc ''' 
    195197        inputs={'repository':'glue.badc.rl.ac.uk','uri':testURI,'format':'original','type':'html','original':'1'} 
    196198        ctype,r=retriever._present(inputs,'text/html') 
    197199        if r[0:3]=='<p>':raise ValueError,r 
    198     def testDIF(self): 
     200    def testSOAPOriginal(self): 
     201        ''' Tests the ability to obtain an original document via soap ''' 
     202        inputs={'repository':'ndg','uri':testURI,'format':'original','type':'html','original':'1'} 
     203        ctype,r=retriever._present(inputs,'text/html') 
     204        if r[0:3]=='<p>':raise ValueError,r 
     205    def AtestDIF(self): 
    199206        ''' Tests the ability to obtain a DIF document ''' 
    200207        inputs={'repository':'glue.badc.rl.ac.uk','uri':testURI,'format':'DIF','type':'html'} 
    201208        ctype,r=retriever._present(inputs,'text/html') 
    202209        if r[0:3]=='<p>':raise ValueError,r 
    203     def testMDIP(self): 
     210    def AtestMDIP(self): 
    204211        ''' Tests the ability to obtain an MDIP document ''' 
    205212        inputs={'repository':'glue.badc.rl.ac.uk','uri':testURI,'format':'MDIP','type':'html'} 
    206213        ctype,r=retriever._present(inputs,'text/html') 
    207214        if r[0:3]=='<p>':raise ValueError,r 
    208     def testISO(self): 
     215    def AtestISO(self): 
    209216        ''' Tests the ability to obtain an ISO document ''' 
    210217        inputs={'repository':'glue.badc.rl.ac.uk','uri':testURI,'format':'ISO19139','type':'html'} 
    211218        ctype,r=retriever._present(inputs,'text/html') 
    212219        if r[0:3]=='<p>':raise ValueError,r 
    213     def testDC(self): 
     220    def AtestDC(self): 
    214221        ''' Tests the ability to obtain a DC document ''' 
    215222        inputs={'repository':'glue.badc.rl.ac.uk','uri':testURI,'format':'DC','type':'html'} 
     
    217224        if r[0:3]=='<p>':raise ValueError,r 
    218225         
    219          
    220          
    221226if __name__=="__main__": 
    222227    unittest.main() 
Note: See TracChangeset for help on using the changeset viewer.