|
|
| version 1.11, 2006/06/13 15:10:35 | version 1.14, 2006/07/06 16:01:42 |
|---|---|
| Line 142 class documentViewer(Folder): | Line 142 class documentViewer(Folder): |
| def isAccessible(self, docinfo): | def isAccessible(self, docinfo): |
| """returns if access to the resource is granted""" | """returns if access to the resource is granted""" |
| access = docinfo.get('accessType', None) | access = docinfo.get('accessType', None) |
| zLOG.LOG("documentViewer (accessOK)", zLOG.INFO, "access type %s"%access) | |
| if access is None: | if access is None: |
| # no information - no access | # no information - no access |
| #TODO: check | #TODO: check |
| return True | return True |
| elif access == 'free': | elif access == 'free': |
| zLOG.LOG("documentViewer (accessOK)", zLOG.INFO, "access is free") | |
| return True | return True |
| elif access in self.authgroups: | elif access in self.authgroups: |
| # only local access -- only logged in users | # only local access -- only logged in users |
| Line 163 class documentViewer(Folder): | Line 165 class documentViewer(Folder): |
| def getDirinfoFromDigilib(self,path,docinfo=None): | def getDirinfoFromDigilib(self,path,docinfo=None): |
| """gibt param von dlInfo aus""" | """gibt param von dlInfo aus""" |
| num_retries = 3 | |
| if docinfo is None: | if docinfo is None: |
| docinfo = {} | docinfo = {} |
| imageUrl=self.digilibBaseUrl+"/dirInfo-xml.jsp?mo=dir&fn="+path | infoUrl=self.digilibBaseUrl+"/dirInfo-xml.jsp?mo=dir&fn="+path |
| zLOG.LOG("documentViewer (getparamfromdigilib)", zLOG.INFO, "dirInfo from %s"%(imageUrl)) | zLOG.LOG("documentViewer (getparamfromdigilib)", zLOG.INFO, "dirInfo from %s"%(infoUrl)) |
| for cnt in (1,2,3): | for cnt in range(num_retries): |
| try: | try: |
| dom = NonvalidatingReader.parseUri(imageUrl) | # dom = NonvalidatingReader.parseUri(imageUrl) |
| txt=urllib.urlopen(infoUrl).read() | |
| dom = Parse(txt) | |
| break | break |
| except: | except: |
| zLOG.LOG("documentViewer (getdirinfofromdigilib)", zLOG.ERROR, "error reading %s (try %d)"%(imageUrl,cnt)) | zLOG.LOG("documentViewer (getdirinfofromdigilib)", zLOG.ERROR, "error reading %s (try %d)"%(infoUrl,cnt)) |
| else: | else: |
| raise IOError("Unable to get dir-info from %s"%(imageUrl)) | raise IOError("Unable to get dir-info from %s"%(infoUrl)) |
| sizes=dom.xpath("//dir/size") | sizes=dom.xpath("//dir/size") |
| zLOG.LOG("documentViewer (getparamfromdigilib)", zLOG.INFO, "dirInfo:size"%sizes) | zLOG.LOG("documentViewer (getparamfromdigilib)", zLOG.INFO, "dirInfo:size"%sizes) |
| Line 192 class documentViewer(Folder): | Line 197 class documentViewer(Folder): |
| def getIndexMeta(self, url): | def getIndexMeta(self, url): |
| """returns dom of index.meta document at url""" | """returns dom of index.meta document at url""" |
| num_retries = 3 | |
| dom = None | dom = None |
| metaUrl = None | |
| if url.startswith("http://"): | if url.startswith("http://"): |
| # real URL | # real URL |
| try: | metaUrl = url |
| 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)) | |
| else: | else: |
| # online path | # online path |
| server=self.digilibBaseUrl+"/servlet/Texter?fn=" | server=self.digilibBaseUrl+"/servlet/Texter?fn=" |
| metaUrl=server+url | metaUrl=server+url.replace("/mpiwg/online","") |
| if not metaUrl.endswith("index.meta"): | if not metaUrl.endswith("index.meta"): |
| metaUrl += "/index.meta" | metaUrl += "/index.meta" |
| for cnt in range(num_retries): | |
| try: | try: |
| # patch dirk encoding fehler treten dann nicht mehr auf | # patch dirk encoding fehler treten dann nicht mehr auf |
| # dom = NonvalidatingReader.parseUri(metaUrl) | # dom = NonvalidatingReader.parseUri(metaUrl) |
| txt=urllib.urlopen(metaUrl).read() | txt=urllib.urlopen(metaUrl).read() |
| dom = Parse(txt) | dom = Parse(txt) |
| break | |
| except: | except: |
| zLOG.LOG("documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) | zLOG.LOG("ERROR documentViewer (getIndexMata)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) |
| raise IOError("Unable to read index meta from %s"%(metaUrl)) | |
| if dom is None: | |
| raise IOError("Unable to read index meta from %s"%(url)) | |
| return dom | return dom |