--- ImageArchive/ImageArchive.py 2005/01/27 20:21:56 1.45 +++ ImageArchive/ImageArchive.py 2005/03/18 14:28:00 1.48 @@ -13,7 +13,7 @@ import operator import tempfile import shutil from types import * - +import time try: from Products.ECHO_content.ECHO_collection import ECHO_basis @@ -193,7 +193,7 @@ class ImageDigilib(Folder,Persistent,Imp self.REQUEST.RESPONSE.setHeader("Content-Disposition","""attachement; filename="%s" """%filename) self.REQUEST.RESPONSE.setHeader("Content-Type","application/octet-stream") #print path - imagefh=urllib.urlopen(path) + imagefh=urllib.urlopen(path,'rb') self.REQUEST.RESPONSE.write(imagefh.read()) self.REQUEST.RESPONSE.close() @@ -223,10 +223,30 @@ class ImageDigilib(Folder,Persistent,Imp #umbenennen des versionsfolders oldfolder=os.path.join(self.ImageStoragePath,"."+oldname+".dir") + newfolder=os.path.join(self.ImageStoragePath,"."+newname+".dir") if os.path.exists(oldfolder): - newfolder=os.path.join(self.ImageStoragePath,"."+newname+".dir") - os.rename(oldfolder,newfolder) - + os.rename(oldfolder,newfolder) + else: + os.mkdir(newfolder) + + #schreibe info uber umbennenung + + renameName=os.path.join(newfolder,"renamed") + if os.path.exists(renameName): + fh=file(renameName,'a') + else: + fh=file(renameName,'w') + + tm=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) + try: + user=self.REQUEST['AUTHENTICATED_USER'] + except: + user="unknown" + + str="""%s %s %s %s\n"""%(tm,user,oldname,newname) + fh.write(str) + fh.close() + #scale thumb self.scaleThumbs() @@ -836,9 +856,10 @@ class ImageCollection(Folder, Persistent def show_selected_thumbs(self): #ids=[] - - return self.REQUEST.SESSION['filenames'] - + try: + return self.REQUEST.SESSION['filenames'] + except: + return None def show_thumbs(self): ids=[] for entry in self.__dict__: @@ -977,6 +998,9 @@ class ImageCollection(Folder, Persistent def show_thumbs_selected_rows(self,numberOfColumns): """Ausgabe anzahl""" ids=self.show_selected_thumbs() + + if not ids: + return None self.REQUEST.SESSION['ids']=ids number=int(len(ids)/numberOfColumns)+1 self.REQUEST.SESSION['number']=range(number) @@ -1047,7 +1071,7 @@ class ImageCollection(Folder, Persistent return 0 if self.REQUEST.SESSION.has_key("filename"): filename=self.REQUEST.SESSION["filename"] - + filename=self.getImageByName(filename,onlyName="yes") try: startId=filename @@ -1139,7 +1163,25 @@ class ImageCollection(Folder, Persistent self.REQUEST.SESSION['filename']=filen pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selected2.zpt')).__of__(self) return pt() + + def getImageByName(self,filename,onlyName=None): + """get filename""" + fn=getattr(self,filename,None) + if not fn: + filenameM=filename.split(".")[0] + founds=self.ZopeFind(self,obj_metatypes=['ImageDigilib']) + for found in founds: + foundM=found[0].split(".")[0] + if filenameM.lower()==foundM.lower(): + if onlyName: + return found[0] + else: + return found[1] + if onlyName: + return filename + else: + return fn def index_html(self): """main template collection""" if self.REQUEST.has_key('filename'):