Diff for /documentViewer/MpdlXmlTextServer.py between versions 1.238.2.12 and 1.238.2.13

version 1.238.2.12, 2011/08/10 19:18:03 version 1.238.2.13, 2011/08/12 14:41:39
Line 89  class MpdlXmlTextServer(SimpleItem): Line 89  class MpdlXmlTextServer(SimpleItem):
         url = docinfo['url']          url = docinfo['url']
         pagesize = pageinfo['queryPageSize']          pagesize = pageinfo['queryPageSize']
         pn = pageinfo.get('searchPN',1)          pn = pageinfo.get('searchPN',1)
         sn = pageinfo['sn']          sn = pageinfo.get('sn',None) #TODO: is this s now?
         highlightQuery = pageinfo['highlightQuery']          highlightQuery = pageinfo['highlightQuery']
         query =pageinfo['query']          query =pageinfo['query']
         queryType =pageinfo['queryType']          queryType =pageinfo['queryType']
Line 269  class MpdlXmlTextServer(SimpleItem): Line 269  class MpdlXmlTextServer(SimpleItem):
     def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None):      def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None):
         """returns single page from fulltext"""          """returns single page from fulltext"""
         logging.debug("getTextPage mode=%s, pn=%s"%(mode,pn))          logging.debug("getTextPage mode=%s, pn=%s"%(mode,pn))
         # check for cached text -- but this shouldn't be called twice          # check for cached text -- but ideally this shouldn't be called twice
         if pageinfo.has_key('textPage'):          if pageinfo.has_key('textPage'):
             logging.debug("getTextPage: using cached text")              logging.debug("getTextPage: using cached text")
             return pageinfo['textPage']              return pageinfo['textPage']
Line 287  class MpdlXmlTextServer(SimpleItem): Line 287  class MpdlXmlTextServer(SimpleItem):
         tocMode = pageinfo.get('tocMode', None)          tocMode = pageinfo.get('tocMode', None)
         tocPN = pageinfo.get('tocPN',None)          tocPN = pageinfo.get('tocPN',None)
         characterNormalization = pageinfo.get('characterNormalization', None)          characterNormalization = pageinfo.get('characterNormalization', None)
           
         selfurl = docinfo['viewerUrl']             selfurl = docinfo['viewerUrl']   
                   
         if mode == "dict" or mode == "text_dict":          if mode == "dict" or mode == "text_dict":
Line 322  class MpdlXmlTextServer(SimpleItem): Line 323  class MpdlXmlTextServer(SimpleItem):
                   
         # plain text mode          # plain text mode
         if mode == "text":          if mode == "text":
               # get full url assuming documentViewer is parent
               selfurl = self.getLink()
             if pagediv is not None:              if pagediv is not None:
                 links = pagediv.findall(".//a")                  links = pagediv.findall(".//a")
                 for l in links:                  for l in links:
                     href = l.get('href')                      href = l.get('href')
                     if href and href.startswith('#note-'):                      if href and href.startswith('#note-'):
                         href = href.replace('#note-',"?mode=%s&url=%s&viewMode=text&tocMode=%s&tocPN=%s&pn=%s#note-"%(urlmode,url,tocMode,tocPN,pn))                          href = href.replace('#note-',"%s#note-"%selfurl)
                         l.set('href', href)                          l.set('href', href)
   
                 return serialize(pagediv)                  return serialize(pagediv)
Line 335  class MpdlXmlTextServer(SimpleItem): Line 338  class MpdlXmlTextServer(SimpleItem):
         # text-with-links mode          # text-with-links mode
         elif mode == "dict":          elif mode == "dict":
             if pagediv is not None:              if pagediv is not None:
                   viewerurl = docinfo['viewerUrl']
                   selfurl = self.getLink()
                 # check all a-tags                  # check all a-tags
                 links = pagediv.findall(".//a")                  links = pagediv.findall(".//a")
                 for l in links:                  for l in links:
Line 343  class MpdlXmlTextServer(SimpleItem): Line 348  class MpdlXmlTextServer(SimpleItem):
                     if href:                      if href:
                         # is link with href                          # is link with href
                         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 dictionary link - change href (keeping parameters)
                             selfurl = self.absolute_url()                              l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql','%s/template/viewer_wordinfo'%viewerurl))
                             # change href                              # add target to open new page
                             l.set('href', href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql','%s/head_main_voc'%selfurl))  
                             # add target  
                             l.set('target', '_blank')                              l.set('target', '_blank')
                                                                                                                       
                           # TODO: is this needed?
                         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()
                             l.set('href', 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))
Line 358  class MpdlXmlTextServer(SimpleItem): Line 362  class MpdlXmlTextServer(SimpleItem):
                             l.set('ondblclick', 'popupWin.focus();')                                 l.set('ondblclick', 'popupWin.focus();')   
                                           
                         if href.startswith('#note-'):                          if href.startswith('#note-'):
                             l.set('href', href.replace('#note-',"?mode=%s&url=%s&viewMode=text_dict&tocMode=%s&tocPN=%s&pn=%s#note-"%(urlmode,url,tocMode,tocPN,pn)))                              # note link
                               l.set('href', href.replace('#note-',"%s#note-"%selfurl))
                                                               
                 return serialize(pagediv)                  return serialize(pagediv)
                           
Line 389  class MpdlXmlTextServer(SimpleItem): Line 394  class MpdlXmlTextServer(SimpleItem):
                                           
         return "no text here"          return "no text here"
           
     # WTF: is this needed?  
     def getOrigPages(self, docinfo=None, pageinfo=None):  
         logging.debug("CALLED: getOrigPages!")  
         if not pageinfo.has_key('pageNumberOrig'):  
             logging.warning("getOrigPages: not in pageinfo!")  
             return None  
           
         return pageinfo['pageNumberOrig']  
       
     # WTF: is this needed?  
     def getOrigPagesNorm(self, docinfo=None, pageinfo=None):  
         logging.debug("CALLED: getOrigPagesNorm!")  
         if not pageinfo.has_key('pageNumberOrigNorm'):  
             logging.warning("getOrigPagesNorm: not in pageinfo!")  
             return None  
           
         return pageinfo['pageNumberOrigNorm']  
                   
     # TODO: should be getWordInfo      # TODO: should be getWordInfo
     def getTranslate(self, word=None, language=None):      def getWordInfo(self, word='', language='', display=''):
         """translate into another languages"""          """show information (like dictionaries) about word"""
         data = self.getServerData("lt/wordInfo.xql","language="+str(language)+"&word="+urllib.quote(word)+"&output=html")          data = self.getServerData("lt/wordInfo.xql","language=%s&word=%s&display=%s&output=html"%(language,urllib.quote(word),urllib.quote(display)))
         return data          return data
           
     # WTF: what does this do?      # WTF: what does this do?

Removed from v.1.238.2.12  
changed lines
  Added in v.1.238.2.13


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