--- ImageArchive/ImageArchive.py 2005/05/03 16:31:36 1.59 +++ ImageArchive/ImageArchive.py 2005/06/05 10:10:44 1.60 @@ -16,7 +16,12 @@ from types import * import time from threading import Thread import Queue - +try: + from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder +except: + print "ZSQL Extend Folder nicht importiert" + print "Metadatendfolder funktioniert nicht!!!" + try: from Products.ECHO_content.ECHO_collection import ECHO_basis except: @@ -65,7 +70,7 @@ class generateSet: self.url=url self.version=version self.done=None - + def __call__(self): """call generate Set""" @@ -111,9 +116,9 @@ class generateSet: 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() @@ -155,7 +160,7 @@ class generateSet: 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() @@ -332,7 +337,7 @@ class ImageDigilib(Folder,Persistent,Imp def download(self,fmt="&mo=rawfile,hires",suffix=None): """download""" - path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+fmt + path=self.scalerPath+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 @@ -463,24 +468,38 @@ class ImageDigilib(Folder,Persistent,Imp def thumb(self,url=None): """show thumb""" thumbname=os.path.splitext(self.filename)[0]+".jpg" - ## if not os.path.exists("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname): -## image=urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:18080/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=150&mo=lores").read() -## f=open("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname,"w") -## f.write(image) -## f.close() -## os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 150 &"% self.ImageViewerPath) - - #DEVEL:take nausikaa for server solution - - 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 + + path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" + self.REQUEST.SESSION['string']=""% path if url: return ""% path else: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumb.zpt')).__of__(self) return pt() + + + def thumbMD(self,url=None): + """show thumb mit Metadaten erwarten image in ImageCollectionMD + """ + thumbname=os.path.splitext(self.filename)[0]+".jpg" + path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" + + self.REQUEST.SESSION['string']=""% path + if url: + return ""% path + else: + + overview=self.ZopeFind(self.aq_parent,obj_ids=['thumb.html']) + if overview: + return getattr(self,overview[0][0])() + else: + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumbMD.zpt')).__of__(self) + return pt() + + + def index_html(self): """show image""" #DEVELOP: take first one for server @@ -514,7 +533,9 @@ class ImageCollection(Folder, Persistent """Sammelordner für Bilder""" meta_type="ImageCollection" - + scalerPath="http://127.0.0.1:18080/digitallibrary/servlet/Scaler/?fn=" + #scalerPath="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn=" + zipThreads={} zipThreads2={} @@ -886,14 +907,14 @@ class ImageCollection(Folder, Persistent RESPONSE.redirect('manage_main') - def importStructure(self,path): - """import""" - splitted=os.path.split(path) - if os.path.isDir(path) and (len(splitted[1])>0) and (splitted[1][0]=="."): - manage_AddImageCollection(self,splitted[1],splitted[1],path,self.ImageViewerPath,self.defaultMetaString,RESPONSE=None) + ## def importStructure(self,path): +## """import""" +## splitted=os.path.split(path) +## if os.path.isDir(path) and (len(splitted[1])>0) and (splitted[1][0]=="."): +## manage_AddImageCollection(self,splitted[1],splitted[1],path,self.ImageViewerPath,self.defaultMetaString,RESPONSE=None) - obj=getattr(self,splitted[1]) - obj.ImportFiles() +## obj=getattr(self,splitted[1]) +## obj.ImportFiles() def ImportStructure(self,RESPONSE=None): """Import the existing files of a folder""" @@ -1385,7 +1406,7 @@ class ImageCollection(Folder, Persistent return fn def index_html(self,fn=None): """main template collection""" - print + if fn: ret=[] @@ -1416,9 +1437,13 @@ class ImageCollection(Folder, Persistent else: self.REQUEST.SESSION['showall']=self.REQUEST.SESSION.get('showall','no') - - pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview.zpt')).__of__(self) - return pt() + + overview=self.ZopeFind(self,obj_ids=['overview.html']) + if overview: + return overview[0][1]() + else: + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview.zpt')).__of__(self) + return pt() def manage_AddImageCollectionForm(self): """Nothing yet""" @@ -1434,6 +1459,49 @@ def manage_AddImageCollection(self,id,ti RESPONSE.redirect('manage_main') + +class ImageCollectionMD(ImageCollection,ZSQLExtendFolder): + """Imageviewer and Metadata""" + meta_type="ImageCollection MD" + scalerPath="http://127.0.0.1:18080/digitallibrary/servlet/Scaler/?fn=" + #scalerPath="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn=" + manage_options=ImageCollection.manage_options+( + {'label':'ZSQLExtend','action':'changeZSQLExtendForm'}, + ) + + changeZSQLExtendForm=ZSQLExtendFolder.changeZSQLExtendForm + + def setGenericSearchStringForm(self): + """form setze generischen search string fuer MD""" + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','setGenericSearchStringForm.zpt')).__of__(self) + return pt() + + def setGenericSearchString(self,searchString): + """setze generischen search string""" + self.searchString=searchString + + def thumblistMD(self): + """main template collection""" + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumbListMD.zpt')).__of__(self) + return pt() + + +def manage_AddImageCollectionMDForm(self): + """Nothing yet""" + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddImageCollectionFormMD.zpt')).__of__(self) + return pt() + +def manage_AddImageCollectionMD(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString,RESPONSE=None): + """Add ImageCollection""" + newObj=ImageCollectionMD(id,title,ImageStoragePath,ImageViewerPath,defaultMetaString) + self._setObject(id,newObj) + + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + + + + class ImageCollectionIFrame(ImageCollection): """Class fuer Collection set als IFrame"""