--- documentViewer/documentViewer.py 2006/06/13 15:10:35 1.11 +++ documentViewer/documentViewer.py 2006/06/13 15:21:47 1.12 @@ -192,28 +192,30 @@ class documentViewer(Folder): def getIndexMeta(self, url): """returns dom of index.meta document at url""" + num_retries = 3 dom = None + metaUrl = None if url.startswith("http://"): # real URL - try: - dom = NonvalidatingReader.parseUri(url) - except: - zLOG.LOG("documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) - raise IOError("Unable to read index.meta from %s"%(url)) + metaUrl = url else: # online path server=self.digilibBaseUrl+"/servlet/Texter?fn=" metaUrl=server+url if not metaUrl.endswith("index.meta"): metaUrl += "/index.meta" + + for n in range(num_retries): try: - # patch dirk encoding fehler treten dann nicht mehr auf + # patch dirk encoding fehler treten dann nicht mehr auf # dom = NonvalidatingReader.parseUri(metaUrl) - txt=urllib.urlopen(metaUrl).read() - dom = Parse(txt) + txt=urllib.urlopen(metaUrl).read() + dom = Parse(txt) except: - zLOG.LOG("documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) - raise IOError("Unable to read index meta from %s"%(metaUrl)) + zLOG.LOG("ERROR documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) + + if dom is None: + raise IOError("Unable to read index meta from %s"%(url)) return dom