--- ImageArchive/ImageArchive.py 2004/11/12 12:34:59 1.34 +++ ImageArchive/ImageArchive.py 2004/11/17 10:34:20 1.35 @@ -85,19 +85,31 @@ class ImageDigilib(Folder,Persistent,Imp os.chmod(filename,0644) except: """hack""" + #scale thumb + + self.scaleThumbs() - os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath) + #scale standard - + self.scaleWorkingVersions() - - def download(self): + + def downloadWorkingVersion(self): + """download working version (2000 pixel)""" + + return self.download(fmt="&dw=2000&dh=2000",suffix=".jpg") + + def download(self,fmt="&mo=rawfile,hires",suffix=None): """download""" - path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&mo=rawfile,hires" + path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+fmt + if self.REQUEST.SESSION.has_key('filenamesIds') and self.REQUEST.SESSION['filenamesIds'].has_key(self.filename): filename=self.REQUEST.SESSION['filenamesIds'][self.filename][0]+"_"+self.filename else: filename=self.filename + + if suffix: + filename=os.path.splitext(filename)[0]+suffix self.REQUEST.RESPONSE.setHeader("Content-Disposition","""attachement; filename="%s" """%filename) self.REQUEST.RESPONSE.setHeader("Content-Type","application/octet-stream") @@ -118,7 +130,7 @@ class ImageDigilib(Folder,Persistent,Imp #DEVEL:take nausikaa for server solution - path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=100&dh=100&mo=lores" + path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" #path="/mpiwg/online/"+self.ImageViewerPath+"/"+thumbname self.REQUEST.SESSION['string']=""% path pt=PageTemplateFile('Products/ImageArchive/zpt/thumb.zpt').__of__(self) @@ -167,7 +179,7 @@ class ImageCollection(Folder, Persistent - def createSet(self,RESPONSE=None,local=None): + def createSet(self,RESPONSE=None,local=None,version="working"): """download aller gewaehlten files""" tempfile.tempdir="/tmp/archivesImageServer" @@ -206,7 +218,10 @@ class ImageCollection(Folder, Persistent RESPONSE.write(str("

Get File: %s
\n"%filename)) if local: - sourcePath="/mpiwg/online/"+self.ImageViewerPath+"/"+id[0] + if version=="working": + sourcePath="/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+id[0] + else: + sourcePath="/mpiwg/online/"+self.ImageViewerPath+"/"+id[0] targetPath=tmpPath+"/"+filename try: shutil.copyfile(sourcePath,targetPath) @@ -216,9 +231,10 @@ class ImageCollection(Folder, Persistent else: """nothing""" else: - - path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+urllib.quote(id[0])+"&mo=rawfile,hires" - + if version=="working": + path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&dh=2000&dw=2000" + else: + path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&mo=rawfile,hires" image=urllib.urlopen(path).read() @@ -255,7 +271,7 @@ class ImageCollection(Folder, Persistent else: """nothing""" else: - path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+ids[nr+i]+"&mo=rawfile,hires" + path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(ids[nr+i])[0]+"&mo=rawfile,hires" image=urllib.urlopen(path).read() @@ -312,9 +328,26 @@ class ImageCollection(Folder, Persistent def scaleThumbs(self,RESPONSE=None): """scale thumbs""" + #scale thumbs + ret=os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl -src=/mpiwg/online/ -dir=%s -dest=/mpiwg/temp/online/scaled/thumb -scaleto=100 &"% self.ImageViewerPath) + if RESPONSE: + RESPONSE.write(ret.read()) + RESPONSE.write("\n") + + return "RESCALING STARTED" + + def scaleWorkingVersions(self,RESPONSE=None): + """scale working versions""" - os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl -src=/mpiwg/online/ -dir=%s -dest=/mpiwg/temp/online/scaled/thumb -scaleto=100 &"% self.ImageViewerPath) - return "RESCALING STARTED" + #scale standard + + ret=os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl -src=/mpiwg/online/ -dir=%s -dest=/mpiwg/temp/online/scaled/small -scaleto=2000 &"% self.ImageViewerPath) + if RESPONSE: + RESPONSE.write(ret.read()) + RESPONSE.write("\n") + return "rescaling started" + + def __init__(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString): self.id=id @@ -329,6 +362,7 @@ class ImageCollection(Folder, Persistent {'label':'Recalculate Metadata','action':'recalculateMeta'}, {'label':'Import Metadata','action':'importMetaForm'}, {'label':'Rescale thumbs','action':'scaleThumbs'}, + {'label':'Rescale working version','action':'scaleWorkingVersions'}, {'label':'Weight (ECHO)','action':'weightForm'}, ) @@ -541,7 +575,15 @@ class ImageCollection(Folder, Persistent #print ret #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self) #print self.ImageStoragePath - os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl -src=/mpiwg/online/ -dir=%s -dest=/mpiwg/temp/online/scaled/thumb -scaleto=100 &"% self.ImageViewerPath) + + #scale thumb + + self.scaleThumbs() + + #scale standard + + self.scaleWorkingVersions() + RESPONSE.redirect('manage_main') @@ -567,8 +609,17 @@ class ImageCollection(Folder, Persistent #print ret #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self) #print self.ImageStoragePath - os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath) - RESPONSE.redirect('manage_main') + + #scale thumb + + self.scaleThumbs() + + #scale standard + + self.scaleWorkingVersions() + + if RESPONSE: + RESPONSE.redirect('manage_main') def ImageCollection_config(self): """Nothing yet"""