--- zogiLib/zogiLib.py 2004/08/28 20:08:07 1.44 +++ zogiLib/zogiLib.py 2004/10/12 16:58:14 1.48 @@ -15,7 +15,7 @@ import types import random from Globals import package_home -ZOGIVERSION = "0.9.9 ROC:28.8.2004" +ZOGIVERSION = "0.9.10b ROC:12.10.2004" def cropf(f): """returns a float with reduced precision""" @@ -76,7 +76,11 @@ class zogiImage(Image): """init""" self.id=id self.title=title - self.baseUrl=baseUrl + if baseUrl: + self.baseUrl=baseUrl + else: + self.baseUrl="http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary/servlet/Scaler?" + self.queryString=queryString self.content_type=content_type self.precondition=precondition @@ -99,8 +103,13 @@ class zogiImage(Image): if RESPONSE is not None: RESPONSE.redirect('manage_main') - def index_html(self, REQUEST, RESPONSE): + """service the request by redirecting to digilib server""" + print "REDIRECT: ", self.baseUrl+self.queryString + RESPONSE.redirect(self.baseUrl+self.queryString) + return '' + + def index_html2(self, REQUEST, RESPONSE): """ Modified version of OFS/Image.py @@ -351,6 +360,7 @@ class zogiImage(Image): # for a cache manager to set response headers. self.ZCacheable_set(None) + #return "zogiimage: "+self.baseUrl+self.queryString data=urllib.urlopen(self.baseUrl+self.queryString).read() if type(data) is type(''): @@ -371,7 +381,7 @@ def manage_addZogiImageForm(self): def manage_addZogiImage(self,id,title,baseUrl, queryString,RESPONSE=None): - """add dgilib""" + """add zogiimage""" newObj=zogiImage(id,title,baseUrl, queryString) self.Destination()._setObject(id,newObj) if RESPONSE is not None: @@ -450,7 +460,8 @@ class zogiLib(Folder): return ret except: - return ret + + return [] def formatHTML(self,url,label=None,viewUrl=None): @@ -526,10 +537,14 @@ class zogiLib(Folder): paramH={} baseUrl=self.dlServerURL+"/dlInfo-xml.jsp" try: + print "querying: ", baseUrl+'?'+self.REQUEST['QUERY_STRING'] url=urllib.urlopen(baseUrl+'?'+self.REQUEST['QUERY_STRING']) + print " ok, parsing..." dom=xml.dom.minidom.parse(url) + print " ok" params=dom.getElementsByTagName('parameter') for param in params: + print " param: ", param.getAttribute('name'), " = ", param.getAttribute('value') paramH[param.getAttribute('name')]=param.getAttribute('value') return paramH except: @@ -913,7 +928,7 @@ class zogiLib(Folder): def getPT(self): """pagenums""" - di = self.getSubSession('dlInfo_') + di = self.getSubSession('dlInfo') if di: return int(di['pt']) else: