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'] |
