--- versionedFile/extVersionedFile.py 2007/11/23 18:51:39 1.17 +++ versionedFile/extVersionedFile.py 2008/01/02 16:58:35 1.18 @@ -514,15 +514,17 @@ class extVersionedFileFolder(Folder,ECHO # get new extVersionedFile vf = self._newVersionedFile(id,title=id) - #if (getattr(self,'commentNonEmpty',0)==1) and vC.strip()=="": - # add file to this folder + logging.debug("addFile id=%s vf=%s of %s"%(repr(id),repr(vf),repr(self))) + # add its content (and don't index) + 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) - # add its content - logging.info("ADD: %s"%repr(vf)) - obj=vf.addContentObject(id,vC,author=author,file=file,content_type=content_type,from_tmp=isRealFile) - self.REQUEST.SESSION['objID']=vf.getId() - self.REQUEST.SESSION['objID_parent']=None + try: + self.REQUEST.SESSION['objID']=vf.getId() + self.REQUEST.SESSION['objID_parent']=None + except: + pass if obj.getSize()==0: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','errorUploadFile')).__of__(self) @@ -872,8 +874,10 @@ class extVersionedFile(CatalogAware,Fold def getLastChangeDate(self): """get last change date""" lv=self.getContentObject() - time=lv.getTime() - return time + if lv: + time=lv.getTime() + return time + return None def getLastEditor(self): """get last change date""" @@ -925,7 +929,7 @@ class extVersionedFile(CatalogAware,Fold def getContentObject(self): """returns the last version object""" - if not hasattr(self, 'lastVersionId'): + if not getattr(self, 'lastVersionId', None): # find last version and save it lv = self.findLastVersion() if lv is None: @@ -933,7 +937,7 @@ class extVersionedFile(CatalogAware,Fold self.lastVersionNumber = lv.getVersionNumber() self.lastVersionId = lv.getId() - return getattr(self, self.lastVersionId) + return getattr(self, self.lastVersionId, None) security.declarePublic('getData') def getData(self): @@ -1029,7 +1033,7 @@ class extVersionedFile(CatalogAware,Fold return extVersionedFileObject(id,title,versionNumber=versionNumber,versionComment=versionComment,time=time,author=author) - def addContentObject(self,id,vC,author=None,file=None,title='',changeName='no',newName='',from_tmp=False, + def addContentObject(self,id,vC,author=None,file=None,title='',changeName='no',newName='',from_tmp=False,index=True, precondition='', content_type=''): """add""" @@ -1078,9 +1082,10 @@ class extVersionedFile(CatalogAware,Fold self.lastVersionId = id #logging.debug("addcontentobject: lastversion=%s"%self.getData()) - logging.debug("reindex1: %s in %s"%(repr(self),repr(self.default_catalog))) - self.reindex_object() #logging.debug("addcontentobject: fob_data=%s"%fob.getData()) + if index and self.default_catalog: + logging.debug("reindex1: %s in %s"%(repr(self),repr(self.default_catalog))) + self.reindex_object() return fob