Mercurial > hg > documentViewer
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'] |