--- versionedFile/extVersionedFile.py 2008/10/01 15:59:01 1.27 +++ versionedFile/extVersionedFile.py 2008/10/29 12:12:25 1.30 @@ -631,7 +631,11 @@ class extVersionedFileObject(ExtFile): #logging.debug("+++++++getData1:"+repr(self.get_filename())) filename = self.get_filename() #return ExtFile.index_html(self) - return file(filename).read() + try: + return file(filename).read() + except: + return ExtFile.index_html(self) + def getFileName(self): """return filename""" @@ -947,12 +951,12 @@ class extVersionedFile(CatalogAware,Fold lv=None for v in self.objectValues(self.content_meta_type): - logging.debug("getlastversion: check %s"%v.getId()) + #logging.debug("getlastversion: check %s"%v.getId()) if v.getVersionNumber() > tmp: tmp=v.getVersionNumber() lv=v - logging.debug("getlastversion: got %s"%lv.getId()) + #ogging.debug("getlastversion: got %s"%lv.getId()) return lv def getContentObject(self): @@ -1014,7 +1018,20 @@ class extVersionedFile(CatalogAware,Fold #return "File: %s Version:%i modified:%s size:%s modified by:%s"%(self.title,lastVersion.versionNumber,lastVersion.getTime(),lastVersion.getSize(),lastVersion.lastEditor()) return self.history() - + def getVersionNr(self,nr): + """get version with number nr""" + 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 security.declarePublic('getVersion') def getVersion(self): # TODO: this is ugly and it returns the next version number