Diff for /documentViewer/MpdlXmlTextServer.py between versions 1.238.2.3 and 1.238.2.4

version 1.238.2.3, 2011/07/15 19:45:52 version 1.238.2.4, 2011/07/19 18:46:34
Line 12  import xml.etree.ElementTree as ET Line 12  import xml.etree.ElementTree as ET
 import re  import re
 import logging  import logging
 import urllib  import urllib
 import documentViewer  
 #from documentViewer import getTextFromNode, serializeNode  
   
 def intOr0(s, default=0):  from SrvTxtUtils import getInt, getText, getHttpData
     """convert s to int or return default"""  
     try:  
         return int(s)  
     except:  
         return default  
   
 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):  def serialize(node):
     """returns a string containing an XML snippet of node"""      """returns a string containing an XML snippet of node"""
Line 90  class MpdlXmlTextServer(SimpleItem): Line 70  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-text.mpiwg-berlin.mpg.de/mpdl/interface/", serverName=None, timeout=40):
           
         """constructor"""          """constructor"""
         self.id=id          self.id=id
         self.title=title          self.title=title
Line 102  class MpdlXmlTextServer(SimpleItem): Line 81  class MpdlXmlTextServer(SimpleItem):
                   
     def getHttpData(self, url, data=None):      def getHttpData(self, url, data=None):
         """returns result from url+data HTTP request"""          """returns result from url+data HTTP request"""
         return documentViewer.getHttpData(url,data,timeout=self.timeout)          return getHttpData(url,data,timeout=self.timeout)
           
     def getServerData(self, method, data=None):      def getServerData(self, method, data=None):
         """returns result from text server for method+data"""          """returns result from text server for method+data"""
         url = self.serverUrl+method          url = self.serverUrl+method
         return documentViewer.getHttpData(url,data,timeout=self.timeout)          return getHttpData(url,data,timeout=self.timeout)
   
     # WTF: what does this really do? can it be integrated in getPage?      # WTF: what does this really do? can it be integrated in getPage?
     def getSearch(self, pageinfo=None,  docinfo=None):      def getSearch(self, pageinfo=None,  docinfo=None):
Line 268  class MpdlXmlTextServer(SimpleItem): Line 247  class MpdlXmlTextServer(SimpleItem):
                                   
             # pageNumberOrigNorm              # pageNumberOrigNorm
             elif dc == 'countFigureEntries':              elif dc == 'countFigureEntries':
                 docinfo['countFigureEntries'] = intOr0(div.text)                  docinfo['countFigureEntries'] = getInt(div.text)
                                   
             # pageNumberOrigNorm              # pageNumberOrigNorm
             elif dc == 'countTocEntries':              elif dc == 'countTocEntries':
                 # WTF: s1 = int(s)/30+1                  # WTF: s1 = int(s)/30+1
                 docinfo['countTocEntries'] = intOr0(div.text)                  docinfo['countTocEntries'] = getInt(div.text)
                                   
             # numTextPages              # numTextPages
             elif dc == 'countPages':              elif dc == 'countPages':
                 np = intOr0(div.text)                                      np = getInt(div.text)                    
                 if np > 0:                  if np > 0:
                     docinfo['numTextPages'] = np                      docinfo['numTextPages'] = np
                     if docinfo.get('numPages', 0) == 0:                      if docinfo.get('numPages', 0) == 0:
Line 504  class MpdlXmlTextServer(SimpleItem): Line 483  class MpdlXmlTextServer(SimpleItem):
                 pagediv = div                  pagediv = div
                                   
             elif dc == 'queryResultHits':              elif dc == 'queryResultHits':
                 docinfo['tocSize_%s'%mode] = intOr0(div.text)                  docinfo['tocSize_%s'%mode] = getInt(div.text)
   
         if pagediv:          if pagediv:
 #            # split xml in chunks  
 #            tocs = []  
 #            tocdivs = pagediv.findall('div')  
 #            for p in zip(tocdivs[::2], tocdivs[1::2]):  
 #                toc = serialize(p[0])  
 #                toc += serialize(p[1])  
 #                tocs.append(toc)  
 #                logging.debug("pair: %s"%(toc))  
             # store XML in docinfo              # store XML in docinfo
             docinfo['tocXML_%s'%mode] = ET.tostring(pagediv, 'UTF-8')              docinfo['tocXML_%s'%mode] = ET.tostring(pagediv, 'UTF-8')
   

Removed from v.1.238.2.3  
changed lines
  Added in v.1.238.2.4


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