diff MpdlXmlTextServer.py @ 476:1d93a8cb2d8f elementtree

more new template stuff
author casties
date Tue, 09 Aug 2011 20:27:41 +0200
parents 5a3ab27385ce
children 17f0290b2327
line wrap: on
line diff
--- a/MpdlXmlTextServer.py	Fri Aug 05 19:04:20 2011 +0200
+++ b/MpdlXmlTextServer.py	Tue Aug 09 20:27:41 2011 +0200
@@ -29,12 +29,6 @@
     """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
@@ -187,8 +181,6 @@
         if not docpath:
             return None
 
-        url = docinfo['url']
-        selfurl = self.absolute_url()
         pn = pageinfo['current']
         hrefList=[]
         myList= ""
@@ -206,10 +198,6 @@
     def getAllGisPlaces (self, docinfo=None, pageinfo=None):
         """Show all Gis Places of whole Book """
         xpath ='//echo:place'
-        docpath =docinfo['textURLPath']
-        url = docinfo['url']
-        selfurl =self.absolute_url()
-        pn =pageinfo['current']
         hrefList=[]
         myList=""
         text=self.getServerData("xpath.xql", "document=%s&xpath=%s"%(docinfo['textURLPath'],xpath))
@@ -504,7 +492,7 @@
 
         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"""
         logging.debug("getTocPage mode=%s, pn=%s"%(mode,pn))
         if mode == "text":
@@ -521,14 +509,10 @@
             logging.error("getTocPage: unable to find tocXML")
             return "No ToC"
         
-        pagesize = int(pageinfo['tocPageSize'])
-        url = docinfo['url']
-        urlmode = docinfo['mode']
-        selfurl = docinfo['viewerUrl']
-        viewMode=  pageinfo['viewMode']
-        tocMode = pageinfo['tocMode']
-        tocPN = int(pageinfo['tocPN'])
-        pn = tocPN
+        pagesize = pageinfo['tocPageSize']
+        tocPN = pageinfo['tocPN']
+        if not pn:
+            pn = tocPN
 
         fulltoc = ET.fromstring(tocxml)
         
@@ -548,8 +532,9 @@
                     # take pn from href
                     m = re.match(r'page-fragment\.xql.*pn=(\d+)', href)
                     if m is not None:
-                        # and create new url
-                        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))
+                        # and create new url (assuming parent is documentViewer)
+                        url = self.getLink('pn', m.group(1))
+                        l.set('href', url)
                     else:
                         logging.warning("getTocPage: Problem with link=%s"%href)