Changeset 482:7ca8ac7db06e in documentViewer for MpdlXmlTextServer.py


Ignore:
Timestamp:
Aug 16, 2011, 4:27:08 PM (13 years ago)
Author:
casties
Branch:
elementtree
Message:

more new template stuff. more batching methods in documentViewer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • MpdlXmlTextServer.py

    r478 r482  
    480480        return docinfo
    481481   
    482     def getTocPage(self, mode="text", pn=0, pageinfo=None, docinfo=None):
     482    def getTocPage(self, mode="text", pn=None, start=None, size=None, pageinfo=None, docinfo=None):
    483483        """returns single page from the table of contents"""
    484484        logging.debug("getTocPage mode=%s, pn=%s"%(mode,pn))
     
    495495        if not tocxml:
    496496            logging.error("getTocPage: unable to find tocXML")
    497             return "No ToC"
    498        
    499         pagesize = pageinfo['tocPageSize']
    500         tocPN = pageinfo['tocPN']
    501         if not pn:
    502             pn = tocPN
     497            return "Error: no table of contents!"
     498       
     499        if size is None:
     500            size = pageinfo.get('tocPageSize', 30)
     501           
     502        if start is None:
     503            start = (pn - 1) * size
    503504
    504505        fulltoc = ET.fromstring(tocxml)
     
    506507        if fulltoc:
    507508            # paginate
    508             start = (pn - 1) * pagesize * 2
    509             len = pagesize * 2
    510             del fulltoc[:start]
     509            first = (start - 1) * 2
     510            len = size * 2
     511            del fulltoc[:first]
    511512            del fulltoc[len:]
    512513            tocdivs = fulltoc
     
    526527                        logging.warning("getTocPage: Problem with link=%s"%href)
    527528                       
    528             return serialize(tocdivs)
     529            # fix two-divs-per-row with containing div
     530            newtoc = ET.Element('div', {'class':'queryResultPage'})
     531            for (d1,d2) in zip(tocdivs[::2],tocdivs[1::2]):
     532                e = ET.Element('div',{'class':'tocline'})
     533                e.append(d1)
     534                e.append(d2)
     535                newtoc.append(e)
     536               
     537            return serialize(newtoc)
     538       
     539        return "ERROR: no table of contents!"
    529540   
    530541   
Note: See TracChangeset for help on using the changeset viewer.