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