Changeset 1023


Ignore:
Timestamp:
25/05/06 22:05:21 (13 years ago)
Author:
lawrence
Message:

more browse/discovery ... still many significant bugs
... some of which are listed as tickets ...

Location:
TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi
Files:
3 edited

Legend:

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

    r1020 r1023  
    2525class BrowseSession: 
    2626         
    27         ''' Holds the browse history and contact details for the NDG session manager, designed 
    28         to work with the discovery portal as well ''' 
     27        ''' Holds the browse and select history ''' 
    2928         
    3029        def __init__(self,cookie,config): 
     
    9594                cookie['session']=base64.encodestring(m.digest())[:-3].replace("/", "$") 
    9695                cookie['history']=self.__toXML() 
     96 
    9797                return cookie 
    9898         
     
    145145                else:  
    146146                    content,name=self.error('No valid URI'),'Error' 
    147                          
    148                  
    149                          
     147 
    150148                if not self.ViewTextOnly: 
    151149                    historyHTML='<p>' 
     
    161159                else: 
    162160                    self.response.content=content 
     161                self.response.cookie=self.session.makeCookie() 
    163162                return self.response 
    164163                 
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/renderDiscoverySet.py

    r1020 r1023  
    3838    
    3939    def serviceList(d): 
    40         ll=span(' Links: ','ndgem')+hyperlink('Full Record','url') 
     40        ll=span(' Links: ','ndgem') 
    4141        ndg=0 
     42        s=1 
    4243        for item in d.services: 
    43             ll+=', ' 
     44            if not s: ll+=', ' 
     45            s=0 
    4446            if item == 'NDG_A_SERVICE':  
    4547                ll+=hyperlink('data',d.services[item].url) 
     
    7476        bgc={1:'rbgWhite',-1:'rbgGrey'}[i] 
    7577        i=-1*i 
    76         ndg,slist=serviceList(d) 
     78         
    7779        if d.elem is None: 
    7880            html+='<tr class="%s"><td colspan="%s"> Unparseable record </td></tr>'%(bgc,len(columns)) 
    7981        else: 
     82            ndg,slist=serviceList(d) 
    8083            rlist=[abbreviate(d.name,60),] 
    8184            if summary: 
    8285                rlist[0]='%s: %s'%(span('Name','ndgem'),rlist[0]) 
    8386                rlist[0]+='<br/>%s: %s'%(span('Summary','ndgem'),abbreviate(d.abstract,200)) 
     87                rlist[0]+=' '+hyperlink('(more)',d.entryID) 
    8488            rlist[0]+='<br/>%s: %s.'%(span('Repository','ndgem'),d.centre.toHTML()) 
     89            if not summary: 
     90                rlist[0]+=' '+hyperlink('(more)',d.entryID) 
    8591            if services:rlist[0]+=slist 
    86             rlist[0]+=',&nbsp;'+selector.target(d.entryID) 
     92            if ndg and selector !=None: rlist[0]+=',&nbsp;'+selector.target(d.entryID) 
    8793            if spatial: rlist.append(spatialBox(d)) 
    8894            if temporal:  
     
    9298 
    9399    html+='</tbody></table>' 
    94     html+='<p>Results %s to %s of %s</p>'%(state.offset,state.offset+state.stride-1,state.hits) 
     100     
     101    #now work out the links to step through a large result set 
     102    html+='<p>Results %s to %s of %s'%(state.offset,min(state.offset+state.stride-1,state.hits),state.hits) 
     103    if state.stride < state.hits and selector is not None: 
     104        if state.offset+state.stride-1<state.hits: 
     105            next1=state.offset+state.stride 
     106            nextNum=min(next1+state.stride,state.hits)-next1 
     107            s1='Next %s'%nextNum 
     108            nexturl='%s&start=%s&howmany=%s'%(selector.baseURL,next1,nextNum) 
     109            html+=', %s'%hyperlink(s1,nexturl) 
     110        if state.offset>1: 
     111            last1=state.offset-state.stride 
     112            lastNum=state.stride 
     113            l1='Last %s'%lastNum 
     114            lasturl='%s&start=%s&howmany=%s'%(selector.baseURL,last1,lastNum) 
     115            html+=', %s'%hyperlink(l1,lasturl) 
     116    else: 
     117        html+='</p>' 
    95118    html+='</div>' 
    96119    return html 
  • TI07-MOLES/trunk/StubB/XSLT/browse/portal/cgi/renderPage.py

    r1020 r1023  
     1from htmlUtilities import * 
     2def fancybox(content): 
     3    ''' Provides a round cornered box ''' 
     4    html='''<table cellSpacing="0" cellPadding="0" width="100%%" border="0"> 
     5                  <tbody> 
     6                    <tr> 
     7                      <td> 
     8                        <div id="RecordCornersTop"> 
     9                        <img height="11" alt="" src="/layout/record_top_right_corner.gif" width="11" align="right"/></div> 
     10                        <div id="RecordBox"><br/>%s</div> 
     11                        <div id="RecordCornersBot"> 
     12                        <img height="11" alt="" src="/layout/record_bottom_right_corner.gif" width="11" align="right"/></div> 
     13                      </td> 
     14                    </tr> 
     15                  </tbody> 
     16                  </table>'''%content 
     17    return html 
     18           
    119def renderPage(contentHTML,historyHTML,selectHTML,name,config): 
    220         
     
    1432        ndgAlt=config.get('layout','ndgAlt','Visit NDG') 
    1533        PageLogo=config.get('layout','pageLogo',None) 
     34        selImage=config.get('layout','selectI',None) 
    1635         
    1736        #set up search box form ... 
    1837        searchBox=''' 
    19             <form name="SEARCH" action="browse.py" method="post"> 
     38            <form name="SEARCH" action="browse.py" method="get"> 
    2039            <input type="hidden" name="task" value="discovery"/> 
    2140            <input type="hidden" name="dispSum" value="false"/> 
     
    5776            </tbody></table></div>'''%(ndgLink,ndgImage,ndgAlt,localLink,localImage,localAlt) 
    5877                         
    59         #now layout the main parts of the page (importing relevant HTML)                 
     78         
     79        gotoA=image(selImage,'DataService') 
     80        #left column content 
     81        leftcol='''<div id="ndgSearchBox">%s</div> 
     82               <div id="HistoryBox"><h4>Browse History</h4>%s</div> 
     83               <div id="HistoryBox"><h4>%s Selected Items</h4>%s<br/></div>'''%(searchBox,historyHTML,gotoA,selectHTML) 
     84                         
     85        #now layout the main parts of the page (importing relevant HTML) 
    6086        html+=''' 
    6187          <div id="Main"> 
    6288            <div id="LeftColumn"> 
    63                <div id="ndgSearchBox">%s</div> 
    64                <div id="Selected"><h1>Selected Items</h1>%s</div> 
    65                <div id="SearchHistory"><h1>Browse History</h1>%s</div> 
    66             </div> 
     89            %s 
     90            </div> 
    6791            <div id="Content"> 
    6892               <div style="CLEAR: none; LEFT: 0px; WIDTH: 98%%; TOP: 0px"> 
    6993               <div style="CLEAR: none; WIDTH: 98%%"> 
    70                   <table cellSpacing="0" cellPadding="0" width="100%%" border="0"> 
    71                   <tbody> 
    72                     <tr> 
    73                       <td> 
    74                         <div id="RecordCornersTop"> 
    75                         <img height="11" alt="" src="/layout/record_top_right_corner.gif" width="11" align="right"/></div> 
    76                         <div id="RecordBox"><br/>%s</div> 
    77                         <div id="RecordCornersBot"> 
    78                         <img height="11" alt="" src="/layout/record_bottom_right_corner.gif" width="11" align="right"/></div> 
    79                       </td> 
    80                     </tr> 
    81                   </tbody> 
    82                   </table> 
     94                %s 
    8395                </div> 
    8496                </div>   
     
    8799            </div>       
    88100            </body> 
    89             </html>'''%(searchBox,selectHTML,historyHTML,contentHTML) 
     101            </html>'''%(fancybox(leftcol),fancybox(contentHTML)) 
    90102                 
    91103        return html 
Note: See TracChangeset for help on using the changeset viewer.