changeset 96:a679c8c7148d

getTranslate, getLemma two functions
author abukhman
date Wed, 21 Apr 2010 15:50:59 +0200
parents db6d594aa4d9
children 2b8fd19432fb
files documentViewer.py
diffstat 1 files changed, 47 insertions(+), 14 deletions(-) [+]
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):