Mercurial > hg > documentViewer
comparison documentViewer.py @ 75:9673218e155b
minorCVS: ----------------------------------------------------------------------
author | dwinter |
---|---|
date | Tue, 04 Nov 2008 23:03:56 +0100 |
parents | 5c9837484085 |
children | 70ab234a18dc |
comparison
equal
deleted
inserted
replaced
74:5c9837484085 | 75:9673218e155b |
---|---|
19 import urllib | 19 import urllib |
20 import logging | 20 import logging |
21 import math | 21 import math |
22 | 22 |
23 import urlparse | 23 import urlparse |
24 | 24 from types import * |
25 def logger(txt,method,txt2): | 25 def logger(txt,method,txt2): |
26 """logging""" | 26 """logging""" |
27 logging.info(txt+ txt2) | 27 logging.info(txt+ txt2) |
28 | 28 |
29 | 29 |
165 if docinfo.get("textURL",'') and self.textViewerUrl: #texturl gesetzt und textViewer konfiguriert | 165 if docinfo.get("textURL",'') and self.textViewerUrl: #texturl gesetzt und textViewer konfiguriert |
166 viewMode="text" | 166 viewMode="text" |
167 else: | 167 else: |
168 viewMode="images" | 168 viewMode="images" |
169 | 169 |
170 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode,marks=self.generateMarks(mk)) | 170 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode,mk=self.generateMarks(mk)) |
171 | 171 |
172 def generateMarks(self,mk): | 172 def generateMarks(self,mk): |
173 ret="" | 173 ret="" |
174 if mk is None: | |
175 return "" | |
176 | |
177 if type(mk) is not ListType: | |
178 mk=[mk] | |
174 for m in mk: | 179 for m in mk: |
175 ret+="mk=%s"%mk | 180 ret+="mk=%s"%m |
176 return ret | 181 return ret |
177 | 182 |
178 def getLink(self,param=None,val=None): | 183 def getLink(self,param=None,val=None): |
179 """link to documentviewer with parameter param set to val""" | 184 """link to documentviewer with parameter param set to val""" |
180 params=self.REQUEST.form.copy() | 185 params=self.REQUEST.form.copy() |
291 # online path | 296 # online path |
292 server=self.digilibBaseUrl+"/servlet/Texter?fn=" | 297 server=self.digilibBaseUrl+"/servlet/Texter?fn=" |
293 metaUrl=server+url.replace("/mpiwg/online","") | 298 metaUrl=server+url.replace("/mpiwg/online","") |
294 if not metaUrl.endswith("index.meta"): | 299 if not metaUrl.endswith("index.meta"): |
295 metaUrl += "/index.meta" | 300 metaUrl += "/index.meta" |
296 print metaUrl | 301 logging.debug("METAURL: %s"%metaUrl) |
297 for cnt in range(num_retries): | 302 for cnt in range(num_retries): |
298 try: | 303 try: |
299 # patch dirk encoding fehler treten dann nicht mehr auf | 304 # patch dirk encoding fehler treten dann nicht mehr auf |
300 # dom = NonvalidatingReader.parseUri(metaUrl) | 305 # dom = NonvalidatingReader.parseUri(metaUrl) |
301 txt=urllib.urlopen(metaUrl).read() | 306 txt=urllib.urlopen(metaUrl).read() |
550 if mode=="texttool": #index.meta with texttool information | 555 if mode=="texttool": #index.meta with texttool information |
551 docinfo = self.getDocinfoFromTextTool(url, docinfo=docinfo) | 556 docinfo = self.getDocinfoFromTextTool(url, docinfo=docinfo) |
552 elif mode=="imagepath": | 557 elif mode=="imagepath": |
553 docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo) | 558 docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo) |
554 elif mode=="filepath": | 559 elif mode=="filepath": |
555 docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo,cut=2) | 560 docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo,cut=1) |
556 else: | 561 else: |
557 logger("documentViewer (getdocinfo)", logging.ERROR,"unknown mode!") | 562 logger("documentViewer (getdocinfo)", logging.ERROR,"unknown mode!") |
558 raise ValueError("Unknown mode %s"%(mode)) | 563 raise ValueError("Unknown mode %s"%(mode)) |
559 | 564 |
560 logger("documentViewer (getdocinfo)", logging.INFO,"docinfo: %s"%docinfo) | 565 logger("documentViewer (getdocinfo)", logging.INFO,"docinfo: %s"%docinfo) |
581 np = int(docinfo['numPages']) | 586 np = int(docinfo['numPages']) |
582 pageinfo['end'] = min(pageinfo['end'], np) | 587 pageinfo['end'] = min(pageinfo['end'], np) |
583 pageinfo['numgroups'] = int(np / grpsize) | 588 pageinfo['numgroups'] = int(np / grpsize) |
584 if np % grpsize > 0: | 589 if np % grpsize > 0: |
585 pageinfo['numgroups'] += 1 | 590 pageinfo['numgroups'] += 1 |
586 | 591 logging.debug("getPageInfo: %s"%repr(pageinfo)) |
587 return pageinfo | 592 return pageinfo |
588 | 593 |
589 def text(self,mode,url,pn): | 594 def text(self,mode,url,pn): |
590 """give text""" | 595 """give text""" |
591 if mode=="texttool": #index.meta with texttool information | 596 if mode=="texttool": #index.meta with texttool information |