Changeset 1286 for TI07-MOLES


Ignore:
Timestamp:
06/07/06 17:02:48 (13 years ago)
Author:
lawrence
Message:

Improving the history box in browse, and better
configuration for importing passwords.

Location:
TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/Utilities.py

    r1185 r1286  
    6262def wrapGetText(element,xpathExpression,multiple=0): 
    6363        ''' Wraps a call to ET to get a text object in an error handler ''' 
     64        def none2txt(i): 
     65            if i is None: return '' 
     66            return i 
    6467        if multiple: 
    6568                r=element.findall(xpathExpression) 
     
    7073        except: 
    7174                rr=['',] 
     75        rr=map(none2txt,rr)  
    7276        if multiple:  
    7377                return rr 
     
    99103        return ET.fromstring(r) 
    100104 
     105def EnumerateString(string): 
     106    ''' Takes a string, and if it's got a number on the end, increments it, 
     107    otherwise adds a number on the end, used to differentiate strings which 
     108    would otherwise be identical ''' 
     109    def addNum(matchObj): 
     110        s=matchObj.group() 
     111        return str(int(s)+1) 
     112    r=re.sub('\d+$',addNum,string) 
     113    if r==string: r=r+'1' 
     114    return r 
    101115if __name__=="__main__": 
    102     x='''<test attr='something'>some content with <a href="target"> display</a> url</test>''' 
    103     import ElementTree as ET 
    104     y=ET.fromstring(x) 
    105     print PrettyPrintHTML(y,['content',]) 
    106     print PrettyPrint(y) 
     116    s,t='abc12','def' 
     117    print s,EnumerateString(s),t,EnumerateString(t) 
    107118     
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/browse.config

    r1211 r1286  
    99jarLoc:          returnstubb.jar 
    1010javaBinary:      java 
    11 searchWSDL:     http://superglue.badc.rl.ac.uk/exist/services/Discovery?WSDL 
     11searchWSDL:      http://superglue.badc.rl.ac.uk/exist/services/Discovery?WSDL 
    1212 
    1313[db] 
    14 #exist:         superglue.badc.rl.ac.uk 
     14#exist:          superglue.badc.rl.ac.uk 
    1515exist:          glue.badc.rl.ac.uk 
    1616#exist:          gepidae.esc.rl.ac.uk 
     
    2525Xicon:          /layout/X.gif 
    2626printer:        /layout/printer.gif 
    27  
    2827ndgLink:        http://ndg.nerc.ac.uk/ 
    2928ndgImage:       /layout/ndg_logo.gif 
    3029ndgAlt:         visit ndg 
    31  
    3230pageLogo:       /layout/browse_header4.gif 
    3331 
    3432[security] 
    35  
    36 libraryLoc:     /home/bnl/sandboxes/ndg/MOLES/browse/portal/cgi/NDG/ 
    3733localAA:        http://glue.badc.rl.ac.uk/attAuthority.wsdl 
    3834localSM:        http://glue.badc.rl.ac.uk/sessionMgr.wsdl 
     35passwords:      /home/bnl/sandboxes/ndg/TI07-MOLES/passwords.txt 
    3936 
    4037 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/browseCGI.py

    r1185 r1286  
    3838                self.history=RingBuffer(10) 
    3939                self.selected=RingBuffer(5) 
    40                
     40                self.historyNames=RingBuffer(10) 
    4141                self.__load() 
    4242                         
     
    6666            d={'bh':self.history,'sh':self.selected} 
    6767            current=d[tag].tolist() 
    68             if (uri,name) not in current or ignore: 
     68            # key the uri's by name ... so we can deal with 
     69            # duplicate abbreviations. 
     70            names={} 
     71            for i in current: names[i[1]]=i[0] 
     72            if ignore:  
    6973                d[tag].append((uri,name)) 
     74            else: 
     75                if name in names.keys(): # we might already have it 
     76                    if names[name]!=uri: 
     77                        #it's a duplicate name, but not a duplicate uri 
     78                        d[tag].append((uri,EnumerateString(name))) 
     79                else: #it's new ... 
     80                    d[tag].append((uri,name)) 
    7081                         
    7182        def addToHistory(self,uri,name,ignore=False): 
     
    220231                jar=self.config.get('services','jarLoc') 
    221232                javabin=self.config.get('services','javaBinary') 
    222                 xml=insecureGetDoc(self.uri,db=db,format=format,jar=jar,javaBin=javabin) 
     233                passwordFile=self.config.get('security','passwords','passwords.txt') 
     234                xml=insecureGetDoc(self.uri,db=db,format=format,jar=jar,javaBin=javabin, 
     235                                   passwordFile=passwordFile) 
    223236                 
    224237                #create document instance 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/insecure.py

    r1182 r1286  
    2424 
    2525def insecureGetDoc(uri,db='glue.badc.rl.ac.uk',format='NDG-B0', 
    26         jar='./returnstubb.jar',javaBin='java'): 
     26        jar='./returnstubb.jar',javaBin='java',passwordFile='passwords.txt'): 
    2727        ''' Use Kevin's code to get the document from exist ''' 
    2828        #we assume the URI is of the form repository/localid 
     
    4343        #this file should exist (for the moment) in the cgi directory ... 
    4444        #I know that's not very tidy, but it doesn't matter for the moment ... 
    45         f=file('passwords.txt','r') 
     45        f=file(passwordFile,'r') 
    4646        pw={} 
    4747        for host in f.readlines(): 
Note: See TracChangeset for help on using the changeset viewer.