Changeset 97:2b8fd19432fb in documentViewer


Ignore:
Timestamp:
Apr 27, 2010, 12:58:31 PM (14 years ago)
Author:
abukhman
Branch:
default
Message:

Last update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • documentViewer.py

    r96 r97  
    1010from Ft.Xml.Domlette import PrettyPrint, Print
    1111from Ft.Xml import EMPTY_NAMESPACE, Parse
     12
     13from xml.dom.minidom import parse, parseString
     14
    1215
    1316
     
    185188           
    186189        docinfo = self.getDocinfo(mode=mode,url=url)
    187         pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo,viewMode=viewMode,tocMode=tocMode)
     190       
     191       
    188192        if tocMode != "thumbs":
    189193            # get table of contents
    190194            docinfo = self.getToc(mode=tocMode, docinfo=docinfo)
    191 
     195           
     196        pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo,viewMode=viewMode,tocMode=tocMode)
     197       
    192198        if viewMode=="auto": # automodus gewaehlt
    193199            if docinfo.get("textURL",''): #texturl gesetzt und textViewer konfiguriert
     
    657663        pageinfo['queryPageSize'] =self.REQUEST.get('queryPageSize', '20')
    658664        pageinfo['tocPN'] = self.REQUEST.get('tocPN', '1')
     665        #if 'tocSize_%s'%tocMode in docinfo:
     666            # cached toc
     667          # pageinfo['tocPN'] = min (int (docinfo['tocSize_%s'%tocMode])/int(pageinfo['tocPageSize']),int(pageinfo['tocPN']))
     668               
    659669        pageinfo['searchPN'] =self.REQUEST.get('searchPN','1')
    660670        pageinfo['sn'] =self.REQUEST.get('sn','1')
     
    675685        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)           
    676686        pagedom = Parse(pagexml)
    677         #pagedivs = pagedom.xpath("//div[@class='queryResultPage']")
     687        pagedivs = pagedom.xpath("//div[@class='queryResultPage']")
     688       
    678689        selfurl = self.absolute_url()
     690       
    679691        page = pagexml.replace('page-fragment.xql?document=/echo/la/Benedetti_1585.xml','%s?url=/mpiwg/online/permanent/library/163127KK&viewMode=%s&tocMode=%s&tocPN=%s&query=%s&queryType=%s'%(selfurl, viewMode, tocMode, tocPN, query, queryType))
    680692        text =page.replace('mode=text','mode=texttool')
    681         return text
     693        href = text.replace('lt/lex.xql','%s/template/head_main_voc'%selfurl)
     694        lemma= href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl)
     695        #logging.debug("documentViewer (gettoc) lemma: %s"%(lemma))
     696       
     697        return lemma
     698                       
     699   
    682700        #if len(pagedivs) > 0:
    683701        #    pagenode = pagedom[0]
     
    757775        return pagexml
    758776   
    759     def getLemma(self):
     777    def getLemma(self, lemma=None, language=None):
    760778        """lemma"""
    761         pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","query=%s&language=%s"%(query,language),outputUnicode=False)
     779        pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","lemma=%s&language=%s"%(lemma,language),outputUnicode=False)
    762780        return pagexml
     781
     782    def getQuery (self,  docinfo=None, pageinfo=None, query=None, queryType=None, pn=1):
     783         """number of"""
     784         docpath = docinfo['textURLPath']
     785         pagesize = pageinfo['queryPageSize']
     786         pn = pageinfo['searchPN']
     787         query =pageinfo['query']
     788         queryType =pageinfo['queryType']
     789
     790         tocSearch = 0
     791         tocDiv = None
     792         pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath, 'text', queryType, query, pagesize, pn) ,outputUnicode=False)
     793         
     794         pagedom = Parse(pagexml)
     795         numdivs = pagedom.xpath("//div[@class='queryResultHits']")
     796         tocSearch = int(getTextFromNode(numdivs[0]))
     797         tc=int((tocSearch/20)+1)
     798         logging.debug("documentViewer (gettoc) tc: %s"%(tc))
     799         return tc
    763800
    764801    def getToc(self, mode="text", docinfo=None):
     
    767804        if 'tocSize_%s'%mode in docinfo:
    768805            # cached toc
    769             return docinfo
    770        
     806            return docinfo
    771807        docpath = docinfo['textURLPath']
    772808        # we need to set a result set size
Note: See TracChangeset for help on using the changeset viewer.