--- versionedFile/extVersionedFile.py 2009/06/05 07:32:17 1.31 +++ versionedFile/extVersionedFile.py 2009/08/31 14:07:35 1.34 @@ -3,6 +3,7 @@ using the ExtFile Product, this version DW 11.10.2006 """ +import email from OFS.Folder import Folder from OFS.Image import File from OFS.Image import cookId @@ -142,6 +143,19 @@ class extVersionedFileFolder(Folder,ECHO ) + def redirect(self,RESPONSE,url): + """mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen""" + + timeStamp=time.time() + + if url.find("?")>-1: #giebt es schon parameter + addStr="&time=%s" + else: + addStr="?time=%s" + + RESPONSE.setHeader('Last-Modified',email.Utils.formatdate().split("-")[0]+'GMT') + logging.error(email.Utils.formatdate()+' GMT') + RESPONSE.redirect(url+addStr%timeStamp) def changeHistoryFileNamesForm(self): """change position of version num""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeHistoryFileNamesForm.zpt')).__of__(self) @@ -516,9 +530,12 @@ class extVersionedFileFolder(Folder,ECHO vf = self._newVersionedFile(id,title=id) logging.error("addFile id=%s vf=%s of %s"%(repr(id),repr(vf),repr(self))) # add its content (and don't index) + self._setObject(id,vf) + vf=getattr(self,id) + obj=vf.addContentObject(id,vC,author=author,file=file,content_type=content_type,from_tmp=isRealFile,index=False) # add file to this folder (this should do the indexing) - self._setObject(id,vf) + #self._setObject(id,vf) try: self.REQUEST.SESSION['objID']=vf.getId() @@ -632,8 +649,10 @@ class extVersionedFileObject(ExtFile): filename = self.get_filename() #return ExtFile.index_html(self) try: + logging.info("readfile:"+filename) return file(filename).read() except: + logging.info("cannot readfile:"+filename) return ExtFile.index_html(self) @@ -1105,6 +1124,7 @@ class extVersionedFile(CatalogAware,Fold return "Sorry, not locked by you! (%s,%s)"%(self.lockedBy,self.REQUEST['AUTHENTICATED_USER']) + def _newContentObject(self, id, title='', versionNumber=0, versionComment=None, time=None, author=None): """factory for content objects. to be overridden in derived classes.""" return extVersionedFileObject(id,title,versionNumber=versionNumber,versionComment=versionComment,time=time,author=author)