comparison documentViewer.py @ 39:1dd90aabd366

added retry when reading index meta from texter applet
author casties
date Tue, 13 Jun 2006 17:21:47 +0200
parents 025d3b6cba51
children 749ee5389892
comparison
equal deleted inserted replaced
38:025d3b6cba51 39:1dd90aabd366
190 return docinfo 190 return docinfo
191 191
192 192
193 def getIndexMeta(self, url): 193 def getIndexMeta(self, url):
194 """returns dom of index.meta document at url""" 194 """returns dom of index.meta document at url"""
195 num_retries = 3
195 dom = None 196 dom = None
197 metaUrl = None
196 if url.startswith("http://"): 198 if url.startswith("http://"):
197 # real URL 199 # real URL
198 try: 200 metaUrl = url
199 dom = NonvalidatingReader.parseUri(url)
200 except:
201 zLOG.LOG("documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
202 raise IOError("Unable to read index.meta from %s"%(url))
203 else: 201 else:
204 # online path 202 # online path
205 server=self.digilibBaseUrl+"/servlet/Texter?fn=" 203 server=self.digilibBaseUrl+"/servlet/Texter?fn="
206 metaUrl=server+url 204 metaUrl=server+url
207 if not metaUrl.endswith("index.meta"): 205 if not metaUrl.endswith("index.meta"):
208 metaUrl += "/index.meta" 206 metaUrl += "/index.meta"
207
208 for n in range(num_retries):
209 try: 209 try:
210 # patch dirk encoding fehler treten dann nicht mehr auf 210 # patch dirk encoding fehler treten dann nicht mehr auf
211 # dom = NonvalidatingReader.parseUri(metaUrl) 211 # dom = NonvalidatingReader.parseUri(metaUrl)
212 txt=urllib.urlopen(metaUrl).read() 212 txt=urllib.urlopen(metaUrl).read()
213 dom = Parse(txt) 213 dom = Parse(txt)
214 except: 214 except:
215 zLOG.LOG("documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) 215 zLOG.LOG("ERROR documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
216 raise IOError("Unable to read index meta from %s"%(metaUrl)) 216
217 if dom is None:
218 raise IOError("Unable to read index meta from %s"%(url))
217 219
218 return dom 220 return dom
219 221
220 222
221 def getAuthinfoFromIndexMeta(self,path,docinfo=None,dom=None): 223 def getAuthinfoFromIndexMeta(self,path,docinfo=None,dom=None):