--- ECHO_content/VLPExtension.py 2007/07/26 08:29:06 1.62 +++ ECHO_content/VLPExtension.py 2007/09/26 19:32:00 1.63 @@ -431,38 +431,44 @@ class VLP_collection(ECHO_collection): def generateSubCollections(self,errorsTXT=""): - """erzeuge subcollectionen""" - founds=self.ZSQLSimpleSearch("select * from vl_literature where referencetype in ('(Edited Book)','(Book)','(Collection)','(JournalVolume)','(Generic Container)')") - - self.REQUEST.RESPONSE.write("

Create Subcollections

\n") - for found in founds: - - try: - foundCol=self.ZopeFind(self,obj_ids=[found.reference]) - if foundCol: - - self.manage_delObjects([foundCol[0][0]]) + """erzeuge subcollectionen""" + logging.debug("generateSubCollections") + founds=self.ZSQLSimpleSearch("select * from vl_literature where referencetype in ('(Edited Book)','(Book)','(Collection)','(JournalVolume)','(Generic Container)')") + + self.REQUEST.RESPONSE.write("

Create Subcollections

\n") + for found in founds: + + try: + litid = str(found.reference) + foundCol=self.ZopeFind(self,obj_ids=[litid]) + if foundCol: + logging.debug("generateSubCollections: recreating collection %s"%found.reference) + self.manage_delObjects([foundCol[0][0]]) - manage_addVLP_subCollection(self,found.reference,found.titlerefdisplay,found.titlerefdisplay) + manage_addVLP_subCollection(self,litid,found.titlerefdisplay,found.titlerefdisplay) #getattr(self,found.reference).generateSubCollectionFromDB() #teste ob es Images auf dem Server gibt mit gleichem Namen (frontmatter) - if os.path.exists(os.path.join(self.vlp_basis,found.reference)): - - obj=getattr(self,found.reference) - if not self.ZopeFind(obj,obj_ids=[found.reference]): - metalink=self.REQUEST['URL1']+"/"+found.reference+"/"+found.reference+"/index_meta" - newObj=VLP_resource(found.reference,'',metalink,found.reference,found.reference,found.reference,'generated','book','','','','','','') - obj._setObject(found.reference,newObj) - genObj=getattr(obj,found.reference) - genObj.createIndexFile() - - self.REQUEST.RESPONSE.write("

%s

\n"%found.reference) - except: - error=sys.exc_info()[0:2] - RESPONSE.write("(ERROR (%s): %s %s)\n"%(found.reference,error[0],error[1])) - errorsTXT+="

No subcollection of %s "+"(ERROR: %s %s)

"%error + if os.path.exists(os.path.join(self.vlp_basis,litid)): + logging.debug("generateSubCollections: found collection dir %s"%litid) - return errorsTXT + obj=getattr(self,litid) + if not self.ZopeFind(obj,obj_ids=[litid]): + metalink=self.REQUEST['URL1']+"/"+litid+"/"+litid+"/index_meta" + newObj=VLP_resource(litid,'',metalink,litid,litid,litid,'generated','book','','','','','','') + obj._setObject(litid,newObj) + genObj=getattr(obj,litid) + genObj.createIndexFile() + + self.REQUEST.RESPONSE.write("

%s

\n"%litid) + except: + error=sys.exc_info()[0:2] + logging.error("generateSubCollections: ERROR in %s"%litid) + #logging.error("generateSubCollections: %s %s"%error) + #self.REQUEST.RESPONSE.write("(ERROR (%s): %s %s)\n"%(litid,repr(error[0]),repr(error[1]))) + errorsTXT+="

No subcollection of %s "%litid + #errorsTXT+="

No subcollection of %s "%litid+"(ERROR: %s %s)

"%error + + return errorsTXT def VLP_path_configForm(self): """change pt""" @@ -489,35 +495,39 @@ class VLP_collection(ECHO_collection): metalink=self.REQUEST['URL1']+"/"+fileName+"/index_meta" try: - if not hasattr(self,fileName): - newObj=VLP_resource(fileName,'',metalink,fileName,fileName,fileName,'generated','book','','','','','','') - self._setObject(fileName,newObj) + if not hasattr(self,fileName): + logging.debug("updateCollection: new %s"%fileName) + RESPONSE.write("

new: %s\n

"%fileName) + newObj=VLP_resource(fileName,'',metalink,fileName,fileName,fileName,'generated','book','','','','','','') + self._setObject(fileName,newObj) - RESPONSE.write("

got: %s\n

"%fileName) - genObj=getattr(self,fileName) - if hasattr(genObj,'createIndexFile'): - try: - genObj.createIndexFile() - except: - error=sys.exc_info()[0:2] - RESPONSE.write("

(ERROR (%s): %s %s)

\n"%(fileName,error[0],error[1])) - errorsTXT+="

No indexfile of %s "+"(ERROR: %s %s)

"%error - - if genObj.meta_type=="VLP_subcollection": - genObj.pageSizeSum=getattr(genObj,fileName).getPageSizeSum() - else: - genObj.pageSizeSum=genObj.getPageSizeSum() + RESPONSE.write("

got: %s\n

"%fileName) + genObj=getattr(self,fileName) + logging.debug("updateCollection: inspecting %s"%fileName) + if hasattr(genObj,'createIndexFile'): + try: + logging.debug("updateCollection: creating index for %s"%fileName) + genObj.createIndexFile() + except: + error=sys.exc_info()[0:2] + RESPONSE.write("

(ERROR (%s): %s %s)

\n"%(fileName,error[0],error[1])) + errorsTXT+="

No indexfile of %s "+"(ERROR: %s %s)

"%error + + if genObj.meta_type=="VLP_subcollection": + logging.debug("updateCollection: %s is subcollection"%fileName) + genObj.pageSizeSum=getattr(genObj,fileName).getPageSizeSum() + else: + genObj.pageSizeSum=genObj.getPageSizeSum() except: - error=sys.exc_info()[0:2] - RESPONSE.write("

(ERROR (%s): %s %s)

\n"%(fileName,error[0],error[1])) - errorsTXT+="

File not created:%s (ERROR: %s %s)

"%(fileName,error[0],error[1]) + error=sys.exc_info()[0:2] + RESPONSE.write("

(ERROR (%s): %s %s)

\n"%(fileName,error[0],error[1])) + errorsTXT+="

File not created:%s (ERROR: %s %s)

"%(fileName,error[0],error[1]) errorsTXT+=self.generateSubCollections() errorsTXT+="\n" RESPONSE.write(errorsTXT) - if RESPONSE is not None: - RESPONSE.redirect('manage_main') + def updateCollectionMD(self,RESPONSE=None): """updateMD"""