Changeset 95:db6d594aa4d9 in documentViewer for documentViewer.py


Ignore:
Timestamp:
Apr 19, 2010, 1:13:13 PM (14 years ago)
Author:
abukhman
Branch:
default
Message:

Last update with search function (getSearch)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • documentViewer.py

    r90 r95  
    103103
    104104   
    105     def __init__(self,id,imageScalerUrl=None,textServerName=None,title="",digilibBaseUrl=None,thumbcols=2,thumbrows=10,authgroups="mpiwg"):
     105    def __init__(self,id,imageScalerUrl=None,textServerName=None,title="",digilibBaseUrl=None,thumbcols=2,thumbrows=5,authgroups="mpiwg"):
    106106        """init document viewer"""
    107107        self.id=id
     
    164164 
    165165    security.declareProtected('View','index_html')
    166     def index_html(self,url,mode="texttool",viewMode="auto",tocMode="thumbs",start=None,pn=1,mk=None):
     166    def index_html(self,url,mode="texttool",viewMode="auto",tocMode="thumbs",start=None,pn=1,mk=None, query=None, querySearch=None):
    167167        '''
    168168        view it
     
    170170        @param url: url which contains display information
    171171        @param viewMode: if images display images, if text display text, default is auto (text,images or auto)
    172         @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures)
     172        @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, search)
     173        @param querySearch: type of different search modes (fulltext, fulltextMorph, xpath, xquery, ftIndex, ftIndexMorph)
    173174        '''
    174175       
     
    650651        pageinfo['viewMode'] = viewMode
    651652        pageinfo['tocMode'] = tocMode
    652         pageinfo['tocPageSize'] = self.REQUEST.get('tocPageSize', '10')
     653        pageinfo['query'] = self.REQUEST.get('query',' ')
     654        pageinfo['queryType'] = self.REQUEST.get('queryType',' ')
     655        pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext')
     656        pageinfo['tocPageSize'] = self.REQUEST.get('tocPageSize', '30')
     657        pageinfo['queryPageSize'] =self.REQUEST.get('queryPageSize', '20')
    653658        pageinfo['tocPN'] = self.REQUEST.get('tocPN', '1')
     659        pageinfo['searchPN'] =self.REQUEST.get('searchPN','1')
     660        pageinfo['sn'] =self.REQUEST.get('sn','1')
    654661
    655662        return pageinfo
    656663               
    657 
     664    def getSearch(self, pn=1, pageinfo=None,  docinfo=None, query=None, queryType=None):
     665        """get search list"""
     666        docpath = docinfo['textURLPath']
     667        pagesize = pageinfo['queryPageSize']
     668        pn = pageinfo['searchPN']
     669        sn = pageinfo['sn']
     670        query =pageinfo['query']
     671        queryType =pageinfo['queryType']
     672   
     673        pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&sn=%s"%(docpath, 'text', queryType, query, pagesize, pn, sn) ,outputUnicode=False)           
     674        pagedom = Parse(pagexml)
     675        #pagedivs = pagedom.xpath("//div[@class='queryResultPage']")
     676       
     677        return pagexml
     678        #if len(pagedivs) > 0:
     679        #    pagenode = pagedom[0]
     680        #    return serializeNode(pagenode)
     681        #else:
     682        #    return "xaxa"
    658683
    659684    def getNumPages(self,docinfo=None):
     
    674699           
    675700        pagexml=self.template.fulltextclient.eval("/mpdl/interface/page-fragment.xql", "document=%s&mode=%s&pn=%s"%(docpath,textmode,pn), outputUnicode=False)
     701        #######
     702        #textpython = pagexml.replace('page-fragment.xql?document=/echo/la/Benedetti_1585.xml','?url=/mpiwg/online/permanent/library/163127KK&tocMode='+str(tocMode)+'&queryResultPN='+str(queryResultPN)+'&viewMode='+str(viewMode))
     703        #textnew =textpython.replace('mode=text','mode=texttool')
     704        #######
    676705        # post-processing downloaded xml
    677706        pagedom = Parse(pagexml)
     
    680709            # first div contains text
    681710            pagedivs = pagedom.xpath("/div")
     711            #queryResultPage
    682712            if len(pagedivs) > 0:
    683713                pagenode = pagedivs[0]
     
    742772        return docinfo
    743773   
    744     def getTocPage(self, mode="toc", pn=1, pageinfo=None, docinfo=None):
     774    def getTocPage(self, mode="text", pn=1, pageinfo=None, docinfo=None):
    745775        """returns single page from the table of contents"""
    746776        # TODO: this should use the cached TOC
     
    752782        pagesize = pageinfo['tocPageSize']
    753783        pn = pageinfo['tocPN']
    754         pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql", "document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath,queryType,pagesize,pn), outputUnicode=False)
     784        pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql", "document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath,queryType, pagesize, pn), outputUnicode=False)
    755785        # post-processing downloaded xml
    756786        pagedom = Parse(pagexml)
     
    764794
    765795   
    766     def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=10,authgroups='mpiwg',RESPONSE=None):
     796    def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',RESPONSE=None):
    767797        """init document viewer"""
    768798        self.title=title
Note: See TracChangeset for help on using the changeset viewer.