comparison MpdlXmlTextServer.py @ 570:61d53ccbdd70

more resilience to server errors.
author casties
date Fri, 12 Oct 2012 16:01:41 +0200
parents be21250420be
children 51800c42bcda
comparison
equal deleted inserted replaced
569:be21250420be 570:61d53ccbdd70
116 pagexml = self.getServerData("doc-info.xql","document=%s&info=%s&pageSize=%s&pn=%s"%(docpath,mode,pagesize,pn)) 116 pagexml = self.getServerData("doc-info.xql","document=%s&info=%s&pageSize=%s&pn=%s"%(docpath,mode,pagesize,pn))
117 dom = ET.fromstring(pagexml) 117 dom = ET.fromstring(pagexml)
118 # all info in tag <document> 118 # all info in tag <document>
119 doc = dom.find("document") 119 doc = dom.find("document")
120 except Exception, e: 120 except Exception, e:
121 logging.error("getTextInfo: Error getting data: %s"%e) 121 logging.error("getTextInfo: Error reading doc info: %s"%e)
122 return docinfo 122 return docinfo
123 123
124 if doc is None: 124 if doc is None:
125 logging.error("getTextInfo: unable to find document-tag!") 125 logging.error("getTextInfo: unable to find document-tag!")
126 else: 126 else:
292 # text is default mode 292 # text is default mode
293 textmode = 'text' 293 textmode = 'text'
294 294
295 textParams['mode'] = textmode 295 textParams['mode'] = textmode
296 296
297 # fetch the page 297 try:
298 pagexml = self.getServerData("page-fragment.xql",urllib.urlencode(textParams)) 298 # fetch the page
299 dom = ET.fromstring(pagexml) 299 pagexml = self.getServerData("page-fragment.xql",urllib.urlencode(textParams))
300 dom = ET.fromstring(pagexml)
301 except Exception, e:
302 logging.error("getTextPage: Error reading page: %s"%e)
303 return None
304
300 # extract additional info 305 # extract additional info
301 self.processPageInfo(dom, docinfo, pageinfo) 306 self.processPageInfo(dom, docinfo, pageinfo)
302 # page content is in <div class="pageContent"> 307 # page content is in <div class="pageContent">
303 pagediv = None 308 pagediv = None
304 # ElementTree 1.2 in Python 2.6 can't do div[@class='pageContent'] 309 # ElementTree 1.2 in Python 2.6 can't do div[@class='pageContent']