Mercurial > hg > documentViewer
diff documentViewer.py @ 96:a679c8c7148d
getTranslate, getLemma
two functions
author | abukhman |
---|---|
date | Wed, 21 Apr 2010 15:50:59 +0200 |
parents | db6d594aa4d9 |
children | 2b8fd19432fb |
line wrap: on
line diff
--- a/documentViewer.py Mon Apr 19 15:13:13 2010 +0200 +++ b/documentViewer.py Wed Apr 21 15:50:59 2010 +0200 @@ -669,12 +669,16 @@ sn = pageinfo['sn'] query =pageinfo['query'] queryType =pageinfo['queryType'] - + viewMode= pageinfo['viewMode'] + tocMode = pageinfo['tocMode'] + tocPN = pageinfo['tocPN'] 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) pagedom = Parse(pagexml) #pagedivs = pagedom.xpath("//div[@class='queryResultPage']") - - return pagexml + selfurl = self.absolute_url() + 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)) + text =page.replace('mode=text','mode=texttool') + return text #if len(pagedivs) > 0: # pagenode = pagedom[0] # return serializeNode(pagenode) @@ -689,7 +693,7 @@ docinfo['numPages'] = text.count("<pb ") return docinfo - def getTextPage(self, mode="text", pn=1, docinfo=None): + def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None,): """returns single page from fulltext""" docpath = docinfo['textURLPath'] if mode == "text_dict": @@ -697,10 +701,15 @@ else: textmode = mode + #selfurl = self.absolute_url() + #viewMode= pageinfo['viewMode'] + #tocMode = pageinfo['tocMode'] + #tocPN = pageinfo['tocPN'] + pagexml=self.template.fulltextclient.eval("/mpdl/interface/page-fragment.xql", "document=%s&mode=%s&pn=%s"%(docpath,textmode,pn), outputUnicode=False) ####### - #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)) - #textnew =textpython.replace('mode=text','mode=texttool') + #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'%(selfurl, viewMode, tocMode, tocPN)) + #text =page.replace('mode=text','mode=texttool') ####### # post-processing downloaded xml pagedom = Parse(pagexml) @@ -730,13 +739,28 @@ # is pollux link selfurl = self.absolute_url() # change href - hrefNode.nodeValue = href.replace('lt/lex.xql','%s/head_main_voc'%selfurl) + hrefNode.nodeValue = href.replace('lt/lex.xql','%s/template/head_main_voc'%selfurl) # add target l.setAttributeNS(None, 'target', '_blank') + + if href.startswith('lt/lemma.xql'): + selfurl = self.absolute_url() + hrefNode.nodeValue = href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl) + l.setAttributeNS(None, 'target', '_blank') return serializeNode(pagenode) return "no text here" + def getTranslate(self, query=None, language=None): + """translate into another languages""" + pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lex.xql","query=%s&language=%s"%(query,language),outputUnicode=False) + return pagexml + + def getLemma(self): + """lemma""" + pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","query=%s&language=%s"%(query,language),outputUnicode=False) + return pagexml + def getToc(self, mode="text", docinfo=None): """loads table of contents and stores in docinfo""" logging.debug("documentViewer (gettoc) mode: %s"%(mode)) @@ -781,16 +805,25 @@ docpath = docinfo['textURLPath'] pagesize = pageinfo['tocPageSize'] pn = pageinfo['tocPN'] + + selfurl = self.absolute_url() + viewMode= pageinfo['viewMode'] + tocMode = pageinfo['tocMode'] + tocPN = pageinfo['tocPN'] + pagexml=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql", "document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath,queryType, pagesize, pn), outputUnicode=False) + 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'%(selfurl, viewMode, tocMode, tocPN)) + text = page.replace('mode=image','mode=texttool') + return text # post-processing downloaded xml - pagedom = Parse(pagexml) + #pagedom = Parse(text) # div contains text - pagedivs = pagedom.xpath("//div[@class='queryResultPage']") - if len(pagedivs) > 0: - pagenode = pagedivs[0] - return serializeNode(pagenode) - else: - return "No TOC!" + #pagedivs = pagedom.xpath("//div[@class='queryResultPage']") + #if len(pagedivs) > 0: + # pagenode = pagedivs[0] + # return serializeNode(pagenode) + #else: + # return "No TOC!" def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',RESPONSE=None):