Diff for /documentViewer/MpdlXmlTextServer.py between versions 1.238.2.8 and 1.238.2.11

version 1.238.2.8, 2011/08/05 09:24:42 version 1.238.2.11, 2011/08/09 18:27:41
Line 29  def getTextFromNode(node): Line 29  def getTextFromNode(node):
     """get the cdata content of a node"""      """get the cdata content of a node"""
     if node is None:      if node is None:
         return ""          return ""
     # ET:  
 #    text = node.text or ""  
 #    for e in node:  
 #        text += gettext(e)  
 #        if e.tail:  
 #            text += e.tail  
   
     # 4Suite:      # 4Suite:
     nodelist=node.childNodes      nodelist=node.childNodes
Line 187  class MpdlXmlTextServer(SimpleItem): Line 181  class MpdlXmlTextServer(SimpleItem):
         if not docpath:          if not docpath:
             return None              return None
   
         url = docinfo['url']  
         selfurl = self.absolute_url()  
         pn = pageinfo['current']          pn = pageinfo['current']
         hrefList=[]          hrefList=[]
         myList= ""          myList= ""
Line 206  class MpdlXmlTextServer(SimpleItem): Line 198  class MpdlXmlTextServer(SimpleItem):
     def getAllGisPlaces (self, docinfo=None, pageinfo=None):      def getAllGisPlaces (self, docinfo=None, pageinfo=None):
         """Show all Gis Places of whole Book """          """Show all Gis Places of whole Book """
         xpath ='//echo:place'          xpath ='//echo:place'
         docpath =docinfo['textURLPath']  
         url = docinfo['url']  
         selfurl =self.absolute_url()  
         pn =pageinfo['current']  
         hrefList=[]          hrefList=[]
         myList=""          myList=""
         text=self.getServerData("xpath.xql", "document=%s&xpath=%s"%(docinfo['textURLPath'],xpath))          text=self.getServerData("xpath.xql", "document=%s&xpath=%s"%(docinfo['textURLPath'],xpath))
Line 244  class MpdlXmlTextServer(SimpleItem): Line 232  class MpdlXmlTextServer(SimpleItem):
             elif dc == 'pageNumberOrigNorm':              elif dc == 'pageNumberOrigNorm':
                 pageinfo['pageNumberOrigNorm'] = div.text                  pageinfo['pageNumberOrigNorm'] = div.text
                                   
             # pageNumberOrigNorm              # pageHeaderTitle
               elif dc == 'pageHeaderTitle':
                   pageinfo['pageHeaderTitle'] = div.text
                   
               # numFigureEntries
             elif dc == 'countFigureEntries':              elif dc == 'countFigureEntries':
                 docinfo['numFigureEntries'] = getInt(div.text)                  docinfo['numFigureEntries'] = getInt(div.text)
                                   
             # pageNumberOrigNorm              # numTocEntries
             elif dc == 'countTocEntries':              elif dc == 'countTocEntries':
                 # WTF: s1 = int(s)/30+1                  # WTF: s1 = int(s)/30+1
                 docinfo['numTocEntries'] = getInt(div.text)                  docinfo['numTocEntries'] = getInt(div.text)
                                   
             # pageHeaderTitle              # numPlaces
             elif dc == 'pageHeaderTitle':              elif dc == 'countPlaces':
                 docinfo['pageHeaderTitle'] = div.text                  docinfo['numPlaces'] = getInt(div.text)
                                   
             # numTextPages              # numTextPages
             elif dc == 'countPages':              elif dc == 'countPages':
Line 302  class MpdlXmlTextServer(SimpleItem): Line 294  class MpdlXmlTextServer(SimpleItem):
             textmode = "textPollux"              textmode = "textPollux"
         elif not mode:          elif not mode:
             # default is text              # default is text
               mode = "text"
             textmode = "text"              textmode = "text"
         else:          else:
             textmode = mode              textmode = mode
Line 340  class MpdlXmlTextServer(SimpleItem): Line 333  class MpdlXmlTextServer(SimpleItem):
                 return serialize(pagediv)                  return serialize(pagediv)
                           
         # text-with-links mode          # text-with-links mode
         elif mode == "text_dict":          elif mode == "dict":
             if pagediv is not None:              if pagediv is not None:
                 # check all a-tags                  # check all a-tags
                 links = pagediv.findall(".//a")                  links = pagediv.findall(".//a")
Line 499  class MpdlXmlTextServer(SimpleItem): Line 492  class MpdlXmlTextServer(SimpleItem):
   
         return docinfo          return docinfo
           
     def getTocPage(self, mode="text", pn=1, pageinfo=None, docinfo=None):      def getTocPage(self, mode="text", pn=0, pageinfo=None, docinfo=None):
         """returns single page from the table of contents"""          """returns single page from the table of contents"""
         logging.debug("getTocPage mode=%s, pn=%s"%(mode,pn))          logging.debug("getTocPage mode=%s, pn=%s"%(mode,pn))
         if mode == "text":          if mode == "text":
Line 516  class MpdlXmlTextServer(SimpleItem): Line 509  class MpdlXmlTextServer(SimpleItem):
             logging.error("getTocPage: unable to find tocXML")              logging.error("getTocPage: unable to find tocXML")
             return "No ToC"              return "No ToC"
                   
         pagesize = int(pageinfo['tocPageSize'])          pagesize = pageinfo['tocPageSize']
         url = docinfo['url']          tocPN = pageinfo['tocPN']
         urlmode = docinfo['mode']          if not pn:
         selfurl = docinfo['viewerUrl']  
         viewMode=  pageinfo['viewMode']  
         tocMode = pageinfo['tocMode']  
         tocPN = int(pageinfo['tocPN'])  
         pn = tocPN          pn = tocPN
   
         fulltoc = ET.fromstring(tocxml)          fulltoc = ET.fromstring(tocxml)
Line 543  class MpdlXmlTextServer(SimpleItem): Line 532  class MpdlXmlTextServer(SimpleItem):
                     # take pn from href                      # take pn from href
                     m = re.match(r'page-fragment\.xql.*pn=(\d+)', href)                      m = re.match(r'page-fragment\.xql.*pn=(\d+)', href)
                     if m is not None:                      if m is not None:
                         # and create new url                          # and create new url (assuming parent is documentViewer)
                         l.set('href', '%s?mode=%s&url=%s&viewMode=%s&pn=%s&tocMode=%s&tocPN=%s'%(selfurl, urlmode, url, viewMode, m.group(1), tocMode, tocPN))                          url = self.getLink('pn', m.group(1))
                           l.set('href', url)
                     else:                      else:
                         logging.warning("getTocPage: Problem with link=%s"%href)                          logging.warning("getTocPage: Problem with link=%s"%href)
                                                   

Removed from v.1.238.2.8  
changed lines
  Added in v.1.238.2.11


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