Ignore:
Timestamp:
13/06/06 17:14:46 (14 years ago)
Author:
lawrence
Message:

More browse/discovery rendering modifications, utilising
Kev's new DIF returning routine ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/browse/insecure.py

    r1164 r1171  
    1313import commands 
    1414 
    15 def jarLoc(jar): 
    16         #don't want the jar in the cgi directory ... not quite sure why, but  
    17         #it seems wrong ... having made that decision, we have to bugger 
    18         #around with relative paths depending on whether this is test code  
    19         #(outside the cgi environment) or in the cgi environment 
    20         cwd=os.getcwd() 
    21         return os.path.normpath(os.path.join(cwd,jar)) 
    22  
    2315def osCommand(cmd): 
    2416        stdin,stdout,stderr=os.popen3(cmd) 
     
    3123                return 0,s 
    3224 
    33 def insecureGetDoc(uri,db='glue.badc.rl.ac.uk', jar='./returnstubb.jar'): 
     25def insecureGetDoc(uri,db='glue.badc.rl.ac.uk',format='NDG-B0', 
     26        jar='./returnstubb.jar',javaBin='java'): 
    3427        ''' Use Kevin's code to get the document from exist ''' 
    3528        #we assume the URI is of the form repository/localid 
     
    3831        #following a hack for testing: 
    3932        if uri=='methyl.example.xml': 
    40             f=file('../exampleB/methyl.example.xml') 
     33            try: 
     34                f=file('../exampleB/methyl.example.xml') 
     35            except: 
     36                f=file('/var/www/html/exampleB/methyl.example.xml') 
    4137            return f.read() 
    4238        try: 
     
    5349            pw[h[0]]=h[1],h[2] 
    5450        #try: 
    55         returnMolesJar=jarLoc(jar) 
    56         cmd='java -jar %s repositoryID %s localID %s repository %s user %s userpw %s '%( 
    57                returnMolesJar,repPath,localID, edb, pw[db][0], pw[db][1]) 
     51        cmd='%s -jar %s repositoryID %s localID %s repository %s user %s userpw %s format %s'%( 
     52               javaBin,jar,repPath,localID, edb, pw[db][0], pw[db][1], format) 
    5853        status,result=commands.getstatusoutput(cmd) 
    5954        #except: 
    6055        #    return None 
    61         if status:  
     56        if status:  
    6257                return None 
    6358        else: 
    6459                return result 
    6560         
    66 def doXSLT (document,jar='./xalan-j_2_7_0/xalan.jar',xsltMethod=None): 
    67         ''' Handle a possibly external transformation to produce an html page ''' 
    68         #use temporary files for the moment, ugly, but it will work. 
    69         # consider using pyana or some other way of doing this later ... 
    70         #try: 
    71         #return 'done' 
    72         fn=tempfile.mktemp('.ndg-xml') 
    73         f=file(fn,'wb') 
    74         f.write(document) 
    75         f.close() 
    76         on=tempfile.mktemp('.ndg-xml') 
    77         xalanjar=jarLoc(jar) 
    78         xslt=jarLoc('./xslt/stubb_2_browse.xsl') 
    79         cmd='java -cp %s org.apache.xalan.xslt.Process -IN %s -XSL %s -OUT %s'%(xalanjar,fn,xslt,on) 
    80         status,result=osCommand(cmd) 
    81         if status: 
    82                 return result 
    83         else: 
    84                 f=file(on,'r') 
    85                 result='' 
    86                 for i in f.readlines(): result+=i 
    87                 f.close() 
    88                 r=os.remove(fn) 
    89                 r=os.remove(on) 
    90                 return result 
    91          
    9261if __name__=="__main__": 
    93         #d= insecureGetDoc('badc.nerc.ac.uk/dataent13',jar='../returnmoles.jar') 
    94         d= insecureGetDoc('badc.nerc.ac.uk/dataent1',db='gepidae.esc.rl.ac.uk', 
    95             jar='../returnstubb.jar') 
     62        javaBin='java' 
     63        jarLoc='../../returnstubb.jar' 
     64        id='badc.nerc.ac.uk/dataent1' 
     65        db='glue.badc.rl.ac.uk' 
     66        d= insecureGetDoc(id,db=db,jar=jarLoc,javaBin=javaBin,format='DIF') 
    9667        print d 
    9768        #print d 
Note: See TracChangeset for help on using the changeset viewer.