--- ImageArchive/ImageArchive.py 2004/11/11 19:46:37 1.32
+++ 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):
+ def createSet(self,RESPONSE=None,local=None,version="working"):
"""download aller gewaehlten files"""
tempfile.tempdir="/tmp/archivesImageServer"
@@ -196,21 +208,41 @@ class ImageCollection(Folder, Persistent
return 0
for id in self.REQUEST.SESSION['filenames']:
- path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+urllib.quote(id[0])+"&mo=rawfile,hires"
- image=urllib.urlopen(path).read()
if self.REQUEST.SESSION.has_key('filenamesIds') and self.REQUEST.SESSION['filenamesIds'].has_key(id[0]):
filename=self.REQUEST.SESSION['filenamesIds'][id[0]][0]+"_"+id[0]
else:
filename=id[0]
-
-
- fh=file(tmpPath+"/"+filename,"w")
if RESPONSE:
RESPONSE.write(str("
Get File: %s
\n"%filename))
- fh.write(image)
+ if local:
+ 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)
+ except:
+ if RESPONSE:
+ RESPONSE.write(str("
Error in File: %s (possible missing)
\n"%filename))
+ else:
+ """nothing"""
+ else:
+ 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()
+
+
+ fh=file(tmpPath+"/"+filename,"w")
+
+
+ fh.write(image)
+ fh.close()
#folgeseiten
if int(self.REQUEST.SESSION['filenamesIds'][id[0]][1])>1:
@@ -220,25 +252,33 @@ class ImageCollection(Folder, Persistent
numberOfPages=self.REQUEST.SESSION['filenamesIds'][id[0]][1]
for k in range(int(numberOfPages)-1):
i=k+1
-
- path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"&/"+ids[nr+i]+"&mo=rawfile,hires"
-
- image=urllib.urlopen(path).read()
if self.REQUEST.SESSION.has_key('filenamesIds') and self.REQUEST.SESSION['filenamesIds'].has_key(id[0]):
filename=self.REQUEST.SESSION['filenamesIds'][id[0]][0]+"_"+ids[nr+i]
else:
filename=id[0]
-
-
- fh=file(tmpPath+"/"+filename,"w")
if RESPONSE:
RESPONSE.write(str("
Get File: %s
\n"%filename))
- fh.write(image)
+ if local:
+ sourcePath="/mpiwg/online/"+self.ImageViewerPath+"/"+ids[nr+1]
+ targetPath=tmpPath+"/"+filename
+ try:
+ shutil.copyfile(sourcePath,targetPath)
+ except:
+ if RESPONSE:
+ RESPONSE.write(str("
Error in File: %s (missing?)
\n"%filename))
+ else:
+ """nothing"""
+ else:
+ 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()
+
- fh.close()
+ fh=file(tmpPath+"/"+filename,"w")
+ fh.write(image)
+ fh.close()
if RESPONSE:
RESPONSE.write("