Diff for /documentViewer/MpdlXmlTextServer.py between versions 1.235 and 1.238.2.1

version 1.235, 2011/04/28 09:58:39 version 1.238.2.1, 2011/07/14 17:43:56
Line 2 Line 2
 from OFS.SimpleItem import SimpleItem  from OFS.SimpleItem import SimpleItem
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile   from Products.PageTemplates.PageTemplateFile import PageTemplateFile 
 from Ft.Xml import EMPTY_NAMESPACE, Parse  from Ft.Xml import EMPTY_NAMESPACE, Parse
   from Ft.Xml.Domlette import NonvalidatingReader
   import Ft.Xml.Domlette
   import cStringIO
   
   import xml.etree.ElementTree as ET
   
 import md5  import md5
 import sys  import sys
 import logging  import logging
 import urllib  import urllib
 import documentViewer  import documentViewer
 from documentViewer import getTextFromNode, serializeNode  #from documentViewer import getTextFromNode, serializeNode
   
   def getText(node):
       """get the cdata content of a node"""
       if node is None:
           return ""
       # ET:
       text = node.text or ""
       for e in node:
           text += gettext(e)
           if e.tail:
               text += e.tail
   
       return text
   
   def serialize(node):
       """returns a string containing an XML snippet of node"""
       s = ET.tostring(node, 'UTF-8')
       # snip off XML declaration
       if s.startswith('<?xml'):
           i = s.find('?>')
           return s[i+3:]
   
       return s
   
   
   def getTextFromNode(node):
       """get the cdata content of a node"""
       if node is None:
           return ""
       # ET:
       #text = node.text or ""
       #for e in node:
       #    text += gettext(e)
       #    if e.tail:
       #        text += e.tail
   
       # 4Suite:
       nodelist=node.childNodes
       text = ""
       for n in nodelist:
           if n.nodeType == node.TEXT_NODE:
              text = text + n.data
       
       return text
   
   def serializeNode(node, encoding="utf-8"):
       """returns a string containing node as XML"""
       #s = ET.tostring(node)
       
       # 4Suite:
       stream = cStringIO.StringIO()
       Ft.Xml.Domlette.Print(node, stream=stream, encoding=encoding)
       s = stream.getvalue()
       stream.close()
   
       return s
   
   
 class MpdlXmlTextServer(SimpleItem):  class MpdlXmlTextServer(SimpleItem):
     """TextServer implementation for MPDL-XML eXist server"""      """TextServer implementation for MPDL-XML eXist server"""
Line 20  class MpdlXmlTextServer(SimpleItem): Line 82  class MpdlXmlTextServer(SimpleItem):
           
     manage_changeMpdlXmlTextServerForm = PageTemplateFile("zpt/manage_changeMpdlXmlTextServer", globals())      manage_changeMpdlXmlTextServerForm = PageTemplateFile("zpt/manage_changeMpdlXmlTextServer", globals())
                   
     def __init__(self,id,title="",serverUrl="http://mpdl-text.mpiwg-berlin.mpg.de/mpdl/interface/", serverName=None, timeout=40):      def __init__(self,id,title="",serverUrl="http://mpdl-system.mpiwg-berlin.mpg.de/mpdl/interface/", serverName=None, timeout=40):
     #def __init__(self,id,title="",serverUrl="http://mpdl-text.mpiwg-berlin.mpg.de:30030/mpdl/interface/", serverName=None, timeout=40):          #def __init__(self,id,title="",serverUrl="http://mpdl-text.mpiwg-berlin.mpg.de:30030/mpdl/interface/", serverName=None, timeout=40):    
                   
         """constructor"""          """constructor"""
Line 54  class MpdlXmlTextServer(SimpleItem): Line 116  class MpdlXmlTextServer(SimpleItem):
         viewMode=  pageinfo['viewMode']          viewMode=  pageinfo['viewMode']
         tocMode = pageinfo['tocMode']          tocMode = pageinfo['tocMode']
         characterNormalization = pageinfo['characterNormalization']          characterNormalization = pageinfo['characterNormalization']
         optionToggle = pageinfo['optionToggle']          #optionToggle = pageinfo['optionToggle']
         tocPN = pageinfo['tocPN']          tocPN = pageinfo['tocPN']
         selfurl = self.absolute_url()          selfurl = self.absolute_url()
         data = self.getServerData("doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&sn=%s&viewMode=%s&characterNormalization=%s&optionToggle=%s&highlightQuery=%s"%(docpath, 'text', queryType, urllib.quote(query), pagesize, pn, sn, viewMode,characterNormalization,optionToggle ,urllib.quote(highlightQuery)))          data = self.getServerData("doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&sn=%s&viewMode=%s&characterNormalization=%s&highlightQuery=%s"%(docpath, 'text', queryType, urllib.quote(query), pagesize, pn, sn, viewMode,characterNormalization, urllib.quote(highlightQuery)))
         pagexml = data.replace('?document=%s'%str(docpath),'?url=%s'%url)          pagexml = data.replace('?document=%s'%str(docpath),'?url=%s'%url)
         pagedom = Parse(pagexml)          pagedom = Parse(pagexml)
                   
Line 85  class MpdlXmlTextServer(SimpleItem): Line 147  class MpdlXmlTextServer(SimpleItem):
                         href = hrefNode.nodeValue                          href = hrefNode.nodeValue
                         if href.startswith('page-fragment.xql'):                          if href.startswith('page-fragment.xql'):
                             selfurl = self.absolute_url()                                          selfurl = self.absolute_url()            
                             pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s&optionToggle=%s&characterNormalization=%s'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN,optionToggle,characterNormalization))                              pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s&characterNormalization=%s'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN, characterNormalization))
                             hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl)                                                                         hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl)                                           
                 #logging.debug("PUREXML :%s"%(serializeNode(pagenode)))                  #logging.debug("PUREXML :%s"%(serializeNode(pagenode)))
                 return serializeNode(pagenode)                          return serializeNode(pagenode)        
Line 100  class MpdlXmlTextServer(SimpleItem): Line 162  class MpdlXmlTextServer(SimpleItem):
                         href = hrefNode.nodeValue                          href = hrefNode.nodeValue
                         if href.startswith('page-fragment.xql'):                          if href.startswith('page-fragment.xql'):
                             selfurl = self.absolute_url()                                     selfurl = self.absolute_url()       
                             pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s&optionToggle=%s&characterNormalization=%s'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN,optionToggle,characterNormalization))                              pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s&characterNormalization=%s'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN,characterNormalization))
                             hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl)                                hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl)  
                         if href.startswith('../lt/lemma.xql'):                          if href.startswith('../lt/lemma.xql'):
                             hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_query'%(selfurl))                                      hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_query'%(selfurl))        
Line 118  class MpdlXmlTextServer(SimpleItem): Line 180  class MpdlXmlTextServer(SimpleItem):
                     hrefNode = l.getAttributeNodeNS(None, u"href")                      hrefNode = l.getAttributeNodeNS(None, u"href")
                     if hrefNode:                      if hrefNode:
                         href = hrefNode.nodeValue                          href = hrefNode.nodeValue
                         hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s&optionToggle=%s&characterNormalization=%s'%(viewMode,tocMode,tocPN,pn,optionToggle,characterNormalization))                                       hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s&characterNormalization=%s'%(viewMode,tocMode,tocPN,pn,characterNormalization))             
                         if href.startswith('../lt/lex.xql'):                          if href.startswith('../lt/lex.xql'):
                             hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_lex'%selfurl)                                       hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_lex'%selfurl)         
                             l.setAttributeNS(None, 'target', '_blank')                              l.setAttributeNS(None, 'target', '_blank')
Line 185  class MpdlXmlTextServer(SimpleItem): Line 247  class MpdlXmlTextServer(SimpleItem):
         name = docinfo.get('name',None)          name = docinfo.get('name',None)
         pn =pageinfo['current']          pn =pageinfo['current']
         sn = pageinfo['sn']          sn = pageinfo['sn']
         optionToggle =pageinfo ['optionToggle']          #optionToggle =pageinfo ['optionToggle']
         highlightQuery = pageinfo['highlightQuery']          highlightQuery = pageinfo['highlightQuery']
         #mode = pageinfo ['viewMode']          #mode = pageinfo ['viewMode']
         tocMode = pageinfo['tocMode']          tocMode = pageinfo['tocMode']
Line 197  class MpdlXmlTextServer(SimpleItem): Line 259  class MpdlXmlTextServer(SimpleItem):
         else:          else:
             textmode = mode              textmode = mode
                   
         textParam = "document=%s&mode=%s&pn=%s&characterNormalization=%s&optionToggle=%s"%(docpath,textmode,pn,characterNormalization,optionToggle)          textParam = "document=%s&mode=%s&pn=%s&characterNormalization=%s"%(docpath,textmode,pn,characterNormalization)
         if highlightQuery is not None:          if highlightQuery is not None:
             textParam +="&highlightQuery=%s&sn=%s"%(urllib.quote(highlightQuery),sn)                         textParam +="&highlightQuery=%s&sn=%s"%(urllib.quote(highlightQuery),sn)           
                   
         pagexml = self.getServerData("page-fragment.xql",textParam)          pagexml = self.getServerData("page-fragment.xql",textParam)
         dom = Parse(pagexml)          dom = ET.fromstring(pagexml)
           #dom = NonvalidatingReader.parseStream(pagexml)
           
         #original Pages          #original Pages
         pagedivs = dom.xpath("//div[@class='pageNumberOrig']")                 #pagedivs = dom.xpath("//div[@class='pageNumberOrig']")       
           
         """if pagedivs == dom.xpath("//div[@class='pageNumberOrig']"):          """if pagedivs == dom.xpath("//div[@class='pageNumberOrig']"):
             if len(pagedivs)>0:              if len(pagedivs)>0:
                 docinfo['pageNumberOrig']= getTextFromNode(pagedivs[0])                  docinfo['pageNumberOrig']= getTextFromNode(pagedivs[0])
Line 218  class MpdlXmlTextServer(SimpleItem): Line 283  class MpdlXmlTextServer(SimpleItem):
                 logging.debug("ORIGINAL PAGE NORM: %s"%(docinfo['pageNumberOrigNorm']))                  logging.debug("ORIGINAL PAGE NORM: %s"%(docinfo['pageNumberOrigNorm']))
         """          """
         #figureEntries          #figureEntries
         pagedivs = dom.xpath("//div[@class='countFigureEntries']")  #        pagedivs = dom.xpath("//div[@class='countFigureEntries']")
         if pagedivs == dom.xpath("//div[@class='countFigureEntries']"):  #        if pagedivs == dom.xpath("//div[@class='countFigureEntries']"):
             if len(pagedivs)>0:  #            if len(pagedivs)>0:
                 docinfo['countFigureEntries'] = getTextFromNode(pagedivs[0])  #                docinfo['countFigureEntries'] = getTextFromNode(pagedivs[0])
                 s = getTextFromNode(pagedivs[0])  #                s = getTextFromNode(pagedivs[0])
                 if s=='0':  #                if s=='0':
                     try:  #                    try:
                         docinfo['countFigureEntries'] = int(s)  #                        docinfo['countFigureEntries'] = int(s)
                     except:  #                    except:
                         docinfo['countFigureEntries'] = 0  #                        docinfo['countFigureEntries'] = 0
                 else:  #                else:
                     s1 = int(s)/30+1  #                    s1 = int(s)/30+1
                     try:  #                    try:
                         docinfo['countFigureEntries'] = int(s1)  #                        docinfo['countFigureEntries'] = int(s1)
                     except:  #                    except:
                         docinfo['countFigureEntries'] = 0        #                        docinfo['countFigureEntries'] = 0      
           #        
         #allPlaces  #        #allPlaces
         pagedivs = dom.xpath("//div[@class='countPlaces']")  #        pagedivs = dom.xpath("//div[@class='countPlaces']")
         if pagedivs == dom.xpath("//div[@class='countPlaces']"):  #        if pagedivs == dom.xpath("//div[@class='countPlaces']"):
             if len(pagedivs)>0:  #            if len(pagedivs)>0:
                 docinfo['countPlaces']= getTextFromNode(pagedivs[0])  #                docinfo['countPlaces']= getTextFromNode(pagedivs[0])
                 s = getTextFromNode(pagedivs[0])  #                s = getTextFromNode(pagedivs[0])
                 try:  #                try:
                     docinfo['countPlaces'] = int(s)  #                    docinfo['countPlaces'] = int(s)
                 except:  #                except:
                     docinfo['countPlaces'] = 0  #                    docinfo['countPlaces'] = 0
           #        
         #tocEntries  #        #tocEntries
         pagedivs = dom.xpath("//div[@class='countTocEntries']")  #        pagedivs = dom.xpath("//div[@class='countTocEntries']")
         if pagedivs == dom.xpath("//div[@class='countTocEntries']"):  #        if pagedivs == dom.xpath("//div[@class='countTocEntries']"):
             if len(pagedivs)>0:  #            if len(pagedivs)>0:
                 docinfo['countTocEntries'] = int(getTextFromNode(pagedivs[0]))  #                docinfo['countTocEntries'] = int(getTextFromNode(pagedivs[0]))
                 s = getTextFromNode(pagedivs[0])  #                s = getTextFromNode(pagedivs[0])
                 if s=='0':  #                if s=='0':
                     try:  #                    try:
                         docinfo['countTocEntries'] = int(s)  #                        docinfo['countTocEntries'] = int(s)
                     except:  #                    except:
                         docinfo['countTocEntries'] = 0  #                        docinfo['countTocEntries'] = 0
                 else:  #                else:
                     s1 = int(s)/30+1  #                    s1 = int(s)/30+1
                     try:  #                    try:
                         docinfo['countTocEntries'] = int(s1)  #                        docinfo['countTocEntries'] = int(s1)
                     except:  #                    except:
                         docinfo['countTocEntries'] = 0  #                        docinfo['countTocEntries'] = 0
                   
         #numTextPages          #numTextPages
         pagedivs = dom.xpath("//div[@class='countPages']")          #pagedivs = dom.xpath("//div[@class='countPages']")
         if pagedivs == dom.xpath("//div[@class='countPages']"):          alldivs = dom.findall(".//div")
             if len(pagedivs)>0:          pagediv = None
                 docinfo['numPages'] = getTextFromNode(pagedivs[0])          for div in alldivs:
                 s = getTextFromNode(pagedivs[0])              dc = div.get('class')
               if dc == 'pageContent':
                   pagediv = div
                                   
               if dc == 'countPages':
                 try:                  try:
                     docinfo['numPages'] = int(s)                      np = int(div.text)                    
                     #logging.debug("PAGE NUMBER: %s"%(s))                      docinfo['numPages'] = np
                   
                     np = docinfo['numPages']  
                     pageinfo['end'] = min(pageinfo['end'], np)                      pageinfo['end'] = min(pageinfo['end'], np)
                     pageinfo['numgroups'] = int(np / pageinfo['groupsize'])                      pageinfo['numgroups'] = int(np / pageinfo['groupsize'])
                     if np % pageinfo['groupsize'] > 0:                      if np % pageinfo['groupsize'] > 0:
                         pageinfo['numgroups'] += 1                                          pageinfo['numgroups'] += 1                
                                  
                 except:                  except:
                     docinfo['numPages'] = 0                      docinfo['numPages'] = 0
                                       
         else:                  break
          #no full text -- init to 0                    
             docinfo['pageNumberOrig'] = 0  # ROC: why?                  
             docinfo['countFigureEntries'] = 0  #            else:
             docinfo['countPlaces'] = 0  #                #no full text -- init to 0
             docinfo['countTocEntries'] = 0  #                docinfo['pageNumberOrig'] = 0
             docinfo['numPages'] = 0  #                docinfo['countFigureEntries'] = 0
             docinfo['pageNumberOrigNorm'] = 0  #                docinfo['countPlaces'] = 0
         #return docinfo  #                docinfo['countTocEntries'] = 0
   #                docinfo['numPages'] = 0
   #                docinfo['pageNumberOrigNorm'] = 0
   #                #return docinfo
                   
         # plain text mode          # plain text mode
         if mode == "text":          if mode == "text":
             # first div contains text              #pagedivs = dom.xpath("/div")
             pagedivs = dom.xpath("/div")              if pagediv:
             if len(pagedivs) > 0:                        links = pagediv.findall(".//a")
                 pagenode = pagedivs[0]  
                 links = pagenode.xpath("//a")  
                 for l in links:                  for l in links:
                     hrefNode = l.getAttributeNodeNS(None, u"href")                      href = l.get('href')
                     if hrefNode:                      if href and href.startswith('#note-'):
                         href= hrefNode.nodeValue                          href = href.replace('#note-',"?url=%s&viewMode=text&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn))
                         if href.startswith('#note-'):                          l.set('href', href)
                             hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=text&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn))                  logging.debug("page=%s"%ET.tostring(pagediv, 'UTF-8'))
                 return serializeNode(pagenode)                  return serialize(pagediv)
               
         if mode == "xml":          if mode == "xml":
               # first div contains text              if pagediv:
               pagedivs = dom.xpath("/div")                  return serialize(pagediv)
               if len(pagedivs) > 0:              
                   pagenode = pagedivs[0]          if mode == "pureXml":
                   return serializeNode(pagenode)              if pagediv:
                   return serialize(pagediv)
                     
         if mode == "gis":          if mode == "gis":
               # first div contains text              if pagediv:
               pagedivs = dom.xpath("/div")                  # check all a-tags
               if len(pagedivs) > 0:                  links = pagediv.findall(".//a")
                   pagenode = pagedivs[0]  
                   links =pagenode.xpath("//a")  
                   for l in links:                    for l in links:
                       hrefNode =l.getAttributeNodeNS(None, u"href")                      href = l.get('href')
                       if hrefNode:                      if href:
                           href=hrefNode.nodeValue  
                           if href.startswith('http://chinagis.mpiwg-berlin.mpg.de'):                            if href.startswith('http://chinagis.mpiwg-berlin.mpg.de'):
                               hrefNode.nodeValue =href.replace('chinagis_REST/REST/db/chgis/mpdl','chinagis/REST/db/mpdl/%s'%name)                              l.set('href', href.replace('chinagis_REST/REST/db/chgis/mpdl','chinagis/REST/db/mpdl/%s'%name))
                               l.setAttributeNS(None, 'target', '_blank')                               l.set('target', '_blank') 
                   return serializeNode(pagenode)                              
                   return serialize(pagenode)
                                           
         if mode == "pureXml":  
               # first div contains text  
               pagedivs = dom.xpath("/div")  
               if len(pagedivs) > 0:  
                   pagenode = pagedivs[0]  
                   return serializeNode(pagenode)        
         # text-with-links mode          # text-with-links mode
         if mode == "text_dict":          if mode == "text_dict":
             # first div contains text              if pagediv:
             #mode = pageinfo ['viewMode']  
             pagedivs = dom.xpath("/div")  
             if len(pagedivs) > 0:  
                 pagenode = pagedivs[0]  
                 # check all a-tags                  # check all a-tags
                 links = pagenode.xpath("//a")                  links = pagediv.findall(".//a")
                 for l in links:                  for l in links:
                     hrefNode = l.getAttributeNodeNS(None, u"href")                      href = l.get('href')
                     if hrefNode:                      
                       if href:
                         # is link with href                          # is link with href
                         href = hrefNode.nodeValue  
                         if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql'):                          if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql'):
                             # is pollux link                              # is pollux link
                             selfurl = self.absolute_url()                              selfurl = self.absolute_url()
                             # change href                              # change href
                             hrefNode.nodeValue = href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql','%s/head_main_voc'%selfurl)                              l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql','%s/head_main_voc'%selfurl))
                             # add target                              # add target
                             l.setAttributeNS(None, 'target', '_blank')                              l.set('target', '_blank')
                             l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'InfoWindow', 'menubar=no, location,width=500,height=600,top=180, left=700, toolbar=no, scrollbars=1'); return false;")  
                             l.setAttributeNS(None, "onDblclick", "popupWin.focus();")  
                             #window.open("this.href, 'InfoWindow', 'menubar=no, location,width=500,height=600,top=180, left=700, toolbar=yes, scrollbars=1'"); return false;")  
                                                                                                                       
                         if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql'):                              if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql'):    
                             selfurl = self.absolute_url()                              selfurl = self.absolute_url()
                             hrefNode.nodeValue = href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql','%s/head_main_lemma'%selfurl)                              l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql','%s/head_main_lemma'%selfurl))
                             l.setAttributeNS(None, 'target', '_blank')                              l.set('target', '_blank')
                             l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'InfoWindow', 'menubar=no, location,width=500,height=600,top=180, left=700, toolbar=no, scrollbars=1'); return false;")                              l.set('onclick',"popupWin = window.open(this.href, 'InfoWindow', 'menubar=no, location,width=500,height=600,top=180, left=700, toolbar=no, scrollbars=1'); return false;")
                             l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();')                                 l.set('ondblclick', 'popupWin.focus();')   
                                                   
                         if href.startswith('#note-'):                          if href.startswith('#note-'):
                             hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=text_dict&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn))                                  l.set('href', href.replace('#note-',"?url=%s&viewMode=text_dict&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn)))
                 return serializeNode(pagenode)                                
                   return serialize(pagediv)
               
         return "no text here"          return "no text here"
           
     def getOrigPages(self, docinfo=None, pageinfo=None):      def getOrigPages(self, docinfo=None, pageinfo=None):
Line 417  class MpdlXmlTextServer(SimpleItem): Line 475  class MpdlXmlTextServer(SimpleItem):
         data = self.getServerData("lt/lex.xql","document=&language="+str(language)+"&query="+urllib.quote(query))          data = self.getServerData("lt/lex.xql","document=&language="+str(language)+"&query="+urllib.quote(query))
         return data          return data
           
     def getQuery (self,  docinfo=None, pageinfo=None, query=None, queryType=None, pn=1, optionToggle=None):      def getQuery (self,  docinfo=None, pageinfo=None, query=None, queryType=None, pn=1):
          #number of           #number of
          docpath = docinfo['textURLPath']            docpath = docinfo['textURLPath'] 
          pagesize = pageinfo['queryPageSize']           pagesize = pageinfo['queryPageSize']
Line 480  class MpdlXmlTextServer(SimpleItem): Line 538  class MpdlXmlTextServer(SimpleItem):
         selfurl = self.absolute_url()            selfurl = self.absolute_url()  
         viewMode=  pageinfo['viewMode']          viewMode=  pageinfo['viewMode']
         characterNormalization = pageinfo ['characterNormalization']          characterNormalization = pageinfo ['characterNormalization']
         optionToggle =pageinfo ['optionToggle']          #optionToggle =pageinfo ['optionToggle']
         tocMode = pageinfo['tocMode']          tocMode = pageinfo['tocMode']
         tocPN = pageinfo['tocPN']            tocPN = pageinfo['tocPN']  
                   
         data = self.getServerData("doc-query.xql","document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s&characterNormalization=regPlusNorm&optionToggle=1"%(docpath,queryType, pagesize, pn))            data = self.getServerData("doc-query.xql","document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s&characterNormalization=regPlusNorm"%(docpath,queryType, pagesize, pn))  
         page = data.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&optionToggle=1'%(selfurl,url, viewMode, tocMode, tocPN))          page = data.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s'%(selfurl,url, viewMode, tocMode, tocPN))
         text = page.replace('mode=image','mode=texttool')          text = page.replace('mode=image','mode=texttool')
         return text          return text
           

Removed from v.1.235  
changed lines
  Added in v.1.238.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>