--- versionedFile/versionedFile.py 2007/04/03 13:18:47 1.70 +++ versionedFile/versionedFile.py 2010/05/12 10:58:21 1.74 @@ -73,7 +73,16 @@ class generateDownloadZip: savePath=os.path.join(tmpPath,lastV.title) fh=file(savePath,"w") - fh.write(lastV.data) + logging.debug("writing file %1 data in %s"%(lastV.title,savePath)) + # loop to get OFS.Image.File data + data=lastV.data + if isinstance(data, str): + fh.write(data) + else: + while data is not None: + fh.write(data.data) + data=data.next + fh.close() self.response+="

2. step: creating the downloadable file

" @@ -424,7 +433,7 @@ class versionedFileFolder(Folder,ECHO_ba def header_html(self): - """zusätzlicher header""" + """zusaetzlicher header""" ext=self.ZopeFind(self,obj_ids=["header.html"]) if ext: return ext[0][1]() @@ -858,7 +867,20 @@ class versionedFile(CatalogAware,Folder) lastVersion.versionNumber=1 return lastVersion - + def getVersionNr(self,nr): + """Last Version""" + tmp=0 + lastVersion=None + + + for version in self.ZopeFind(self): + + if hasattr(version[1],'versionNumber'): + + if int(version[1].versionNumber) ==nr : + return version[1] + + return None def diff(self,data): """differenz between lastversion and data""" d=Differ() @@ -959,7 +981,7 @@ class versionedFile(CatalogAware,Folder) if str(self.REQUEST['AUTHENTICATED_USER']) in ["Anonymous User"]: return "please login first" - if (self.lockedBy==self.REQUEST['AUTHENTICATED_USER']) or (self.lockedBy==''): + if (self.lockedBy==self.REQUEST['AUTHENTICATED_USER']) or (self.lockedBy=='') or (self.lockedBy==None): ext=self.ZopeFind(self.aq_parent,obj_ids=["addNewVersion.dtml"]) if ext: return ext[0][1]('',globals(),version=self.getVersion(),lastComment=self.getLastVersion().getVersionComment(),AUTHENTICATED_USER=self.REQUEST.AUTHENTICATED_USER)