Changeset 2433 for TI07-MOLES


Ignore:
Timestamp:
25/04/07 21:48:14 (11 years ago)
Author:
lawrence
Message:

Fixes for ticket:722, changing to internal unicode (probably not complete),
with decode on the edge coming out ... fixes 722 but may have some
other problems now ...

Location:
TI07-MOLES/trunk/PythonCode/wsgi
Files:
6 added
6 edited

Legend:

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

    r2422 r2433  
    167167                #explicitly do late binding on NDG-B URL  
    168168                #... and override contents in metadatarecord 
    169                 print '1' 
    170169                B='%s__%s__%s'%(self.ndgObject.repository,'NDG-B1',self.ndgObject.localID) 
    171170                Bobject=ndgObject(B,config=self.ndgObject.config) 
    172                 print '2' 
    173171                bdone=0 
    174172                if Bobject.gettable!=-1: 
    175173                    for s in self.services: 
    176                         print '3 ',s.contentType 
    177174                        if s.contentType=='NDG_B_SERVICE':  
    178175                            s.url=Bobject.URL 
    179176                            bdone=1 
    180                     print '4' 
    181177                    if not bdone: self.services.append( 
    182178                                DIFService('NDG_B_SERVICE',Bobject.URL,'NDG Browse Metadata Service')) 
    183179            else: self.binding=None 
    184             print '5' 
    185180        if self.debug: 
    186181           f=open('difs.log','a') 
     
    206201    inputFile2= 'examples/bodc.eg2.edmed.dif' 
    207202    inputFile2= 'examples/bodc.eg3.difChange.dif' 
     203    inputFile2= 'examples/ndg.noc.soton.ac.uk__DIF__NOCSDAT162.xml' 
    208204    configFile='examples/example.config' 
    209205     
     
    219215        print 'Entry ID [%s]'%self.dif.entryID 
    220216        print 'Author [%s]'%self.dif.authors 
     217        print 'Abstract [%s]'%self.dif.abstract 
    221218         
    222219    def testrenderDIF(self): 
     
    224221        print self.dif.timeCoverage 
    225222        html=self.dif.toHTML(self.config) 
     223        html=html.encode('utf-8') 
    226224        g=file('difOutput.html','w') 
    227225        g.write(html) 
  • TI07-MOLES/trunk/PythonCode/wsgi/ETxmlView.py

    r2330 r2433  
    7676                    t=i.text  
    7777                    if t is not None:  
    78                         rr.append(t.encode(self.encoding)) 
     78                        #rr.append(t.decode(self.encoding)) 
     79                        rr.append(t) 
    7980                    else: rr.append('') 
    8081        except: 
  • TI07-MOLES/trunk/PythonCode/wsgi/ServiceBinding.py

    r2295 r2433  
    2222        an ndgModifier if necessary ''' 
    2323        self.contentType,self.url,self.description=c,u,d 
     24        if self.description=='': self.description=self.url 
    2425    def __str__(self): 
    2526        return '<a href="%s" title="%s">%s</a>'%(self.url,self.contentType,self.description) 
  • TI07-MOLES/trunk/PythonCode/wsgi/ndgRetrieve.py

    r2422 r2433  
    1515 
    1616from DocumentRetrieve import DocumentRetrieve 
    17 debug=1 
     17debug=0 
    1818def retrieveFactory(global_config,**local_conf): 
    1919     
     
    9696                            # may be an error return ...) the actual default 
    9797                            # data type for return is xml. 
    98                              
    9998        ctype,r=self._present(inputs,ctype,browse=browse) 
    100          
     99        #there appears to be a problem that if r is a python string (not unicode) 
     100        #and then we try and encode it we get in trouble ... 
    101101        start_response('200 OK', [('Content-Type', ctype),('charset','utf-8')]) 
    102102        return [r.encode('utf-8')] 
  • TI07-MOLES/trunk/PythonCode/wsgi/renderEntity.py

    r2394 r2433  
    1919 
    2020        if entity is None: return '' 
    21  
    22         #try: 
    23          
    24         #except: 
    25         #       contentHTML='' 
    2621         
    2722        if entity.metadataType in ['DC','MDIP']: 
     
    4439            relatedHTML='' 
    4540 
     41        #content and related are ordinary strings, service is unicode, and ought not be (ticket:722) 
    4642        body=contentHTML+relatedHTML+serviceHTML 
    4743         
     
    5147        else: cite='' 
    5248         
    53         html=''' 
     49        html=u''' 
    5450                <DIV id=""> 
    5551                <p></p> 
     
    6056                %s 
    6157        </DIV>'''%(entity.name,entity.abstract,cite,body) 
     58 
    6259        return html 
    6360    
     
    7471        for item in entity.services: 
    7572            html+='<tr><td>%s</td><td>%s</td></tr>'%(s.get(item)) 
    76          
     73             
    7774        if entity.ndgObject is not None: 
    7875            print 'Render says gettable is :', entity.ndgObject.gettable 
     
    9188             
    9289        html+='</tbody></table>' 
     90         
    9391        return html 
    9492             
  • TI07-MOLES/trunk/PythonCode/wsgi/renderService.py

    r2422 r2433  
    2323            #this is a bug fix, and it worries me that I had to do it ... I don't understand why 
    2424            #ideally this should apply to all the attributes of a DIF ...  
    25             description=service.description.decode('utf-8') 
     25            #Apr 25, removed for ticket: 722, I should have documented which ticket it was a bug fix for ... 
     26            #description=service.description.decode('utf-8') 
     27            description=service.description 
    2628        x=('<a href="%s" title="%s"><img src="%s" alt="%s"/></a>'%( 
    2729                url,description,icon,alt),description) 
     
    4143        c=myConfig(configFile) 
    4244        x=renderService(c) 
    43         print x.get(s) 
     45        h=x.get(s) 
     46        print h 
    4447         
    4548    def testOdditity(self): 
     
    4952        from ndgObject import ndgObject 
    5053        testURI='grid.bodc.nerc.ac.uk:DIF:EDMED1048008' 
     54        testURI='ndg.noc.soton.ac.uk__DIF__NOCSDAT162' 
    5155        inputs={'repository':'glue.badc.rl.ac.uk','uri':testURI,'format':'DIF','type':'xml','original':'1'} 
    5256        retriever=ndgRetrieve('./') 
     
    5862        for s in d.services: 
    5963            h=renderService(con) 
    60             print h.get(s) 
     64            html= h.get(s)[0] 
    6165 
    6266         
Note: See TracChangeset for help on using the changeset viewer.