--- ImageArchive/ImageArchive.py 2005/04/28 22:03:44 1.53 +++ ImageArchive/ImageArchive.py 2005/08/09 16:48:29 1.63 @@ -4,6 +4,7 @@ from Globals import Persistent,package_h from Acquisition import Implicit from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate +from xmlrpclib import ServerProxy import re import os import os.path @@ -16,7 +17,15 @@ from types import * import time from threading import Thread import Queue - +import cgi +from AccessControl import ClassSecurityInfo +try: + from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder +except: + print "ZSQL Extend Folder nicht importiert" + print "Metadatendfolder funktioniert nicht!!!" + class ZSQLExtendFolder: + """leer""" try: from Products.ECHO_content.ECHO_collection import ECHO_basis except: @@ -27,6 +36,8 @@ except: manage_options=() +tdir = "/mpiwg/temp/tmp/archivesImageServer/" +#tdir="/tmp/archivesImageServer/" def splitPath(str): str2=str.replace("\\","/") @@ -52,7 +63,8 @@ def getTextFromNode(nodename): class generateSet: """generateSetThread""" - def __init__(self,filenames,filenamesIds,ImageViewerPath,ids,url,local=None,version="full"): + + def __init__(self,filenames,filenamesIds,ImageViewerPath,ids,url,local=None,version="working"): """init generateSet""" self.filenames=filenames self.filenamesIds=filenamesIds @@ -62,14 +74,16 @@ class generateSet: self.url=url self.version=version self.done=None + def __call__(self): """call generate Set""" storeTempDir=tempfile.tempdir - tempfile.tempdir="/tmp/archivesImageServer" + tempfile.tempdir=tdir + tmpPath=tempfile.mktemp() - tmpZip=tempfile.mktemp()+".zip" + tmpZip=tempfile.mktemp()+".gtz" tmpFn=os.path.split(tmpZip)[1] if not os.path.exists(tempfile.tempdir): @@ -93,20 +107,23 @@ class generateSet: self.response+=str("
Get File: %s
\n"%filename)
if self.local:
+
if self.version=="working":
+
sourcePath="/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+os.path.splitext(id[0])[0]+".jpg"
else:
sourcePath="/mpiwg/online/"+self.ImageViewerPath+"/"+id[0]
targetPath=tmpPath+"/"+filename
+
try:
shutil.copyfile(sourcePath,targetPath)
except:
self.response+=(str("
Error in File: %s (possible missing)
\n"%filename))
else:
if self.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"
+ path=self.scalerPath+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"
+ path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&mo=rawfile,hires"
image=urllib.urlopen(path).read()
@@ -119,11 +136,11 @@ class generateSet:
#folgeseiten
if int(self.filenamesIds[id[0]][1])>1:
#ids=self.show_thumbs()
-
+ nr=self.ids.index(id[0])
try:
nr=self.ids.index(id[0])
except:
- self.reponse+=str("
Error in File: %s (possible missing)
\n"%id[0])
+ self.response+=str("
Error in File: %s (possible missing)
\n"%id[0])
nr=0
@@ -139,15 +156,16 @@ class generateSet:
self.response+=str("
Get File: %s
\n"%filename)
if self.local:
- sourcePath="/mpiwg/online/"+self.ImageViewerPath+"/"+self.ids[nr+1]
+ sourcePath="/mpiwg/online/"+self.ImageViewerPath+"/"+self.ids[nr+i]
targetPath=tmpPath+"/"+filename
try:
shutil.copyfile(sourcePath,targetPath)
+
except:
self.response+=str("
Error in File: %s (missing?)
\n"%filename)
else:
- path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(ids[nr+i])[0]+"&mo=rawfile,hires"
+ path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(ids[nr+i])[0]+"&mo=rawfile,hires"
image=urllib.urlopen(path).read()
@@ -157,10 +175,10 @@ class generateSet:
fh.close()
self.response+="
Create Zip
"
+ self.response+="
Create gtar
"
self.response+="
This can take a while....
\n"
- fh=os.popen2("zip -u %s %s/*"%(tmpZip,tmpPath),1)[1]
+ fh=os.popen2("gnutar zcvf %s %s/*"%(tmpZip,tmpPath),1)[1]
self.response+="
"
for c in fh.read():
self.response+=c
@@ -229,11 +247,13 @@ class metaData(SimpleItem):
ret+="
%s=%s
"%(tag,getattr(self,tag)) return ret+"