--- ECHO_content/VLPExtension.py 2008/12/17 12:02:53 1.86 +++ ECHO_content/VLPExtension.py 2009/03/12 11:22:19 1.89 @@ -586,7 +586,7 @@ class VLP_collection(ECHO_collection,Acq col = foundCol logging.debug("generateSubCollections: subcollection %s exists (%s)"%(repr(col),found.reference)) logging.debug(repr([col.title,found.titlerefdisplay,col.label,found.titlerefdisplay])) - if (unicodify(col.title) != found.titlerefdisplay) or (unicodify(col.label) != found.titlerefdisplay): + if (unicodify(col.title) != unicodify(found.titlerefdisplay)) or (unicodify(col.label) != unicodify(found.titlerefdisplay)): # subcollection seems to have changed logging.debug("generateSubCollections: subcollection has changed, recreating!") col.aq_parent.manage_delObjects([col.getId()]) @@ -642,8 +642,11 @@ class VLP_collection(ECHO_collection,Acq logging.error("getOrCreateFolder wrong filename: %s"%fileName) return None - - restName="%08d"%int(fileName[3:]) + try: + restName="%08d"%int(fileName[3:]) + except: + logging.error("getOrCreateFolder wrong filename: %s"%fileName) + return None fs=(restName[0:2],restName[0:4],restName[0:6]) @@ -740,7 +743,7 @@ class VLP_collection(ECHO_collection,Acq errorsTXT+="

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

\n"%(fileName,error[0],error[1]) return errorsTXT - def updateCollection(self,forceUpdate=False,RESPONSE=None): + def updateCollection(self,forceUpdate=True,RESPONSE=None): """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner""" # update subcollections @@ -807,6 +810,10 @@ class VLP_resource(ECHO_resource,Cacheab meta_type="VLP_resource" + def _p_resolveConflict(self,oldstate,savedstate,newstate): + logging.debug("updateCollection: Have to resolve conflict!") + return newstate + #vlp_basis="/mpiwg/online/permanent/vlp" @@ -842,12 +849,46 @@ class VLP_resource(ECHO_resource,Cacheab # workaround in some cases there seem to be no pictures in pages if os.path.isdir(os.path.join(self.vlp_basis,self.resourceID,'pagesHi')): + + + pagesHi = os.listdir(os.path.join(self.vlp_basis,self.resourceID,'pagesHi')) + if path is None: + return os.path.join(self.vlp_basis,self.resourceID,'pagesHi') + + pages = os.listdir(path) + + if len (pagesHi) > len(pages): + + countHi=0 + for p in pagesHi: + dat,ext = os.path.splitext(p) + if ext.lower() in [".tiff",".tif",".jpg"]: + countHi+=1 + count=0 + for p in pages: + dat,ext = os.path.splitext(p) + if ext.lower() in [".tiff",".tif",".jpg"]: + count+=1 + + if countHi > count: + path=os.path.join(self.vlp_basis,self.resourceID,'pagesHi') + + logging.error("pages < pagesHi: %s"%self.resourceID) + if path is None: + + if len (os.listdir(self.vlp_basis,self.resourceID,'pagesHi')) > len(os.listdir(path)): + + + path=os.path.join(self.vlp_basis,self.resourceID,'pagesHi') logging.error("pages < pagesHi: %s"%self.resourceID) else: + logging.error("no images: %s"%self.resourceID) - return None + return None + + return path def transcription(self): @@ -1074,12 +1115,13 @@ class VLP_resource(ECHO_resource,Cacheab ret="%s: %s"%(str[0],name) return ret - self.imagePath=self.getImagePath(); - if (selfImagePath is None): + self.imagePathFull=self.getImagePath(); + self.imagePath=self.imagePathFull.split("/")[-1] + if (self.imagePath is None): return None temp=[] - ret = os.listdir(self.imagePathj); + ret = os.listdir(self.imagePathFull) ret.sort() for x in ret: