Changeset 2098 for TI07-MOLES


Ignore:
Timestamp:
02/02/07 20:33:23 (12 years ago)
Author:
lawrence
Message:

Further modifications to support xml versions of displayed records in
discovery.

Location:
TI07-MOLES/trunk/PythonCode/wsgi
Files:
7 edited

Legend:

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

    r2097 r2098  
    121121                 helper.getText(item,'Description') )) 
    122122         
    123         if self.ndgObject is not None: 
    124             if self.ndgObject.gettable: 
    125                 self.binding=DIFService('DISCOVERY',self.ndgObject.baseURL,'Discovery record') 
     123        if self.ndgObject is None: 
     124            self.binding=None 
    126125        else: 
    127             self.binding=None 
    128          
     126            if self.ndgObject.discoveryURL is not None: 
     127                self.binding=DIFService('DISCOVERY',self.ndgObject.discoveryURL,'Discovery record') 
     128            else: self.binding=None 
     129 
    129130        if self.debug: 
    130131           f=open('difs.log','a') 
  • TI07-MOLES/trunk/PythonCode/wsgi/DiscoveryGUI.py

    r2097 r2098  
    135135                obj=ndgObject(result[0]) 
    136136                obj.setConfig(self.config) 
     137                print result[0],obj.gettable 
    137138                difs.append(DIF(result[1],ndgObject=obj)) 
    138139            if results==[]: 
  • TI07-MOLES/trunk/PythonCode/wsgi/eXistInterface.py

    r1991 r2098  
    3636                                            constants.xmlrpc_base_path 
    3737                                        ) 
    38         print xmlrpc_uri 
    3938        self.xmlrpc = xmlrpclib.Server(xmlrpc_uri) 
    4039 
  • TI07-MOLES/trunk/PythonCode/wsgi/ndgDiscovery.config

    r2097 r2098  
    8787badc.nerc.ac.uk: %(server)s/retrieve 
    8888default: %(server)s/retrieve 
    89 instance: repository=%(repository)s&format=DIF&type=html&uri 
     89formatDefault=DIF 
     90instance: repository=%(repository)s&format=%(formatDefault)s&type=html&uri 
    9091icon_title: Links to the DISCOVERY RECORD for this dataset 
  • TI07-MOLES/trunk/PythonCode/wsgi/ndgObject.py

    r2097 r2098  
    3131        ''' Set up the configuration for retrieving this document ''' 
    3232        if config is None: 
    33             self.gettable=0 
     33            self.gettable=-1 
     34            self.discoveryURL,self.baseURL,self.xmlURL,self.printableURL=None,None,None,None 
    3435        else: 
    3536            self.config=config 
     37            self.baseURL='%s?repository=%s&uri=%s__%s__%s'%(self.config.get('DISCOVERY','default'), 
     38                                        self.config.get('DEFAULT','repository'), 
     39                                        self.repository,self.schema,self.localID) 
    3640            #we can only get this file for sure if it's a discovery record 
    3741            if self.schema in ['DIF','DC']: 
    38                 self.baseURL='%s?repository=%s&uri=%s__%s__%s'%(self.config.get('DISCOVERY','default'), 
    39                                         self.config.get('DEFAULT','repository'), 
    40                                         self.repository,self.schema,self.localID) 
     42                self.discoveryURL=self.baseURL+'&format=%s&type=html'%self.schema 
     43                self.gettable=1 
     44                self.xmlURL=self.discoveryURL.replace('html','xml') 
     45                self.printableURL=self.discoveryURL.replace('html','print') 
     46            elif self.schema in ['MOLES-B0']: 
     47                fmt=self.config.get('DISCOVERY','formatDefault','DIF') 
     48                self.discoveryURL=self.baseURL+'&format=%s&type=html'%fmt 
     49                self.gettable=1 
    4150                self.xmlURL=self.baseURL+'&type=xml' 
    4251                self.printableURL=self.baseURL+'&type=print' 
    43                 self.gettable=1 
    44             else: 
     52            else:# stub-B is not gettable as a discovery record  
    4553                self.gettable=0 
    46                  
     54                self.discoveryURL=None 
     55                self.xmlURL=self.baseURL+'&type=xml' 
     56                self.printableURL=self.baseURL+'&type=print' 
     57             
    4758    def get(self,type='xml'): 
    4859        ''' Actually retrieve an xml record corresponding to an ndg URI ''' 
  • TI07-MOLES/trunk/PythonCode/wsgi/ndgRetrieve.py

    r2097 r2098  
    3939        self.renderer=renderEntity(self.config) 
    4040         
    41     def get(self,xml,format,otype='html'): 
     41    def get(self,xml,format,otype='html',ndgObject=None): 
    4242        if otype=='html': 
    4343            if format=='DIF': 
    44                 r=DIF(xml) 
     44                r=DIF(xml,ndgObject=ndgObject) 
     45                print 'bnl2' 
    4546            elif format=='NDG-B1': 
    4647                r=stubB(xml,self.config) 
     
    9596            #this will raise a ValueError if there is a problem 
    9697            uri=ndgObject(inputs['uri']) 
     98            uri.setConfig(self.config) 
    9799            if 'repository' in inputs.keys():  
    98100                db=inputs['repository'] 
     
    124126                if outputType!='xml':  
    125127                    try: 
    126                         r=self.shower.get(r,format,otype=outputType) 
     128                        r=self.shower.get(r,format,otype=outputType,ndgObject=uri) 
    127129                    except Exception,e: 
    128130                        r='<p> Unable to show document, reason was [%s]<p>'%e 
  • TI07-MOLES/trunk/PythonCode/wsgi/renderEntity.py

    r2097 r2098  
    3939        elif entity.metadataType=='DIF': 
    4040                contentHTML=renderDataContent(entity) 
    41                 relatedHTML=renderDataLinks(entity)+relatedHTML 
     41                #relatedHTML=renderDataLinks(entity)+relatedHTML 
    4242                serviceHTML=self.renderServices(entity) 
    4343        else: 
     
    6565                <tr><td class="lineHead" colspan="3"> 
    6666                <span class="headingO">Links and Services</span></td></tr>''' 
    67         if entity.binding is not None: 
    68             xicon=hyperlink(image(self.config.get('layout','Xicon'),'[X]'),entity.binding.url+'&type=xml') 
    69             html+='<tr><td width="20%%">%s</td><td> This record rendered in XML </td></tr>'%xicon 
    70             picon=hyperlink(image(self.config.get('layout','printer'),'[Print]'),entity.binding.url+'&type=print') 
    71             html+='<tr><td>%s</td><td> Printable version of XML content</td></tr>'%picon 
     67 
    7268        s=renderService(self.config) 
    7369        for item in entity.services: 
    7470            html+='<tr><td>%s</td><td>%s</td></tr>'%(s.get(item),item.description) 
    75         html+='</tbody></table>' 
    7671         
    7772        if entity.ndgObject is not None: 
    78             if entity.ndgObject.gettable: 
    79                 xicon=hyperlink(image(self.config.get('layout','Xicon'),'[X]'),entity.ndgObject.xmlURL) 
    80                 html+='<tr><td width="20%%">%s</td><td> Downloadable XML version of this record </td></tr>'%xicon 
    81                 picon=hyperlink(image(self.config.get('layout','printer'),'[Print]'),entity.ndgObject.printableURL) 
    82                 html+='<tr><td>%s</td><td> Viewable XML version of this record</td></tr>'%picon 
     73            print 'Render says gettable is :', entity.ndgObject.gettable 
     74            xicon=hyperlink(image(self.config.get('layout','Xicon'),'[X]'),entity.ndgObject.xmlURL) 
     75            html+='<tr><td width="20%%">%s</td><td> Downloadable XML version of this record </td></tr>'%xicon 
     76            picon=hyperlink(image(self.config.get('layout','printer'),'[Print]'),entity.ndgObject.printableURL) 
     77            html+='<tr><td>%s</td><td> Viewable XML version of this record</td></tr>'%picon 
     78        html+='</tbody></table>' 
    8379        return html 
    8480 
Note: See TracChangeset for help on using the changeset viewer.