--- ImageArchive/ImageArchive.py 2005/11/23 17:41:04 1.72 +++ ImageArchive/ImageArchive.py 2006/03/29 18:48:00 1.76 @@ -22,6 +22,7 @@ import time from threading import Thread import Queue import cgi +import zLOG from AccessControl import ClassSecurityInfo, getSecurityManager @@ -297,6 +298,11 @@ class ImageDigilib(Folder,Persistent,Imp user=getSecurityManager().getUser() roles=user.getRoles() + + if self.getRightsQuery()=="": + #query empty then always true + return True + if 'Authenticated' in roles: return True @@ -364,12 +370,13 @@ class ImageDigilib(Folder,Persistent,Imp def uploadImage(self,fileupload,path_name): """upload an Image from an Requast""" #path_name=self.ImageStoragePath - fn=splitPath(fileupload.filename) + fn = self.filename or splitPath(fileupload.filename) filename=path_name+"/"+fn filedata=fileupload.read() f=open(filename,"w") f.write(filedata) f.close() + self.filename = fn try: os.chmod(filename,0664) except: @@ -480,7 +487,8 @@ class ImageDigilib(Folder,Persistent,Imp def updateImage(self,file,rename=None,RESPONSE=None): """lade neues Version des Bildes""" #teste ob Dokumenten ordner schon vorhanden - imagePath=os.path.join(self.ImageStoragePath,self.getId()) + #imagePath=os.path.join(self.ImageStoragePath,self.getId()) + imagePath=os.path.join(self.ImageStoragePath,self.filename) path=os.path.join(self.ImageStoragePath,"."+self.getId()+".dir") if not os.path.exists(path): @@ -491,16 +499,20 @@ class ImageDigilib(Folder,Persistent,Imp #teste ob version schon existiert - while os.path.exists(os.path.join(path,"V%i_%s"%(versionNumber,self.getId()))): + while os.path.exists(os.path.join(path,"V%i_%s"%(versionNumber,self.filename))): versionNumber+=1 #kopieren der bestehenden Version in den Versions ordner. - imageNewPath=os.path.join(path,"V%i_%s"%(versionNumber,self.getId())) - os.rename(imagePath,imageNewPath) + imageNewPath=os.path.join(path,"V%i_%s"%(versionNumber,self.filename)) + try: + #zLOG.LOG("ImageArchive:updateImage", zLOG.INFO, "rename: %s -> %s"%(imagePath,imageNewPath)) + os.rename(imagePath,imageNewPath) + except: + zLOG.LOG("ImageArchive:updateImage", zLOG.ERROR, "rename: %s -> %s didn't work!"%(imagePath,imageNewPath)) #lesen des upload files und schreiben filedata=file.read() - f=open(imagePath,"w") + f=open(imagePath,"w") # if we wanted to have filename=id we should do it here! f.write(filedata) f.close() try: @@ -599,7 +611,8 @@ def manage_AddImageDigilib(self,id,fileu """Add ImageCollection""" #fileupload=self.REQUEST['fileupload'] - fn=splitPath(fileupload.filename) + #fn=splitPath(fileupload.filename) + fn = id # filename is the same as id newObj=ImageDigilib(id,fn,meta) self._setObject(id,newObj) @@ -991,10 +1004,7 @@ class ImageCollection(Folder, Persistent else: meta=None - if fileName: - fn=fileName - else: - fn=splitPath(fileupload.filename) + fn=fileName or splitPath(fileupload.filename) manage_AddImageDigilib(self,fn,fileupload,meta=meta) @@ -1599,7 +1609,7 @@ class ImageCollection(Folder, Persistent security.declareProtected('View','index_html') - def index_html(self,fn=None): + def index_html(self,fn=None,generic='No'): """main template collection""" if fn: @@ -1618,7 +1628,8 @@ class ImageCollection(Folder, Persistent overview=self.ZopeFind(self,obj_ids=['overview_selected.html']) - if overview: + + if overview and (generic =='No'): return overview[0][1]() else: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selected.zpt')).__of__(self) @@ -1639,7 +1650,7 @@ class ImageCollection(Folder, Persistent overview=self.ZopeFind(self,obj_ids=['overview.html']) - if overview: + if overview and (generic == 'No'): return overview[0][1]() elif hasattr(self,'templates'): pt=self.templates.imgcoll_main.__of__(self)