--- OSA_system2/OSAS_browser.py 2005/03/03 20:41:00 1.15 +++ OSA_system2/OSAS_browser.py 2005/03/07 19:33:42 1.16 @@ -41,8 +41,26 @@ class OSAS_storeOnline(SimpleItem): objects=self.readObjectsFromPath(realPath) - return objects[os.path.join(realPath,".")][0] - + try: + return objects[os.path.join(realPath,".")][0] + except: + return "" + def getHandlersOfPath(self): + """handler des actullen path""" + path=self.REQUEST['path'] + objects=self.readObjectsFromPath(path) + + typeObject=objects.get(os.path.join(path,"."),None) + if not typeObject: + return("",[],"") + type=typeObject[0] + + handler=self.giveHandlers(path,type) + + + return (os.path.split(path)[1],handler,objects[os.path.join(path,".")][1],type) + + def getMetaFile(self,path): """get index.meta and translate it to HTML""" """Lies Metafile ein @@ -116,9 +134,9 @@ class OSAS_storeOnline(SimpleItem): @param path: Pfad auf das Object relativ zum rootFolderName @return: metadata als html """ - print "search for ",path + xmlInfos=self.findEntryInIndexMeta(path) - print "RRRRRRRRRRRR",xmlInfos + if xmlInfos: return OSAS_helpers.getMetaInfoFromXML(path,xmlInfos) else: @@ -132,7 +150,7 @@ class OSAS_storeOnline(SimpleItem): server=xmlrpclib.Server(self.serverUrl) indexMeta=server.findIndexMeta(path) # suche index.meta - print "found indexMeta",indexMeta + if not indexMeta: return None @@ -182,7 +200,7 @@ class OSAS_storeOnline(SimpleItem): ret={} server=xmlrpclib.Server(self.serverUrl) indexMeta,stats=server.findIndexMetaWithStats(path)#findex index.meta zu path. - print "checking",path,indexMeta + if not indexMeta: return ret @@ -193,10 +211,11 @@ class OSAS_storeOnline(SimpleItem): - #teste ob schon im cache - - if self._v_metaFiles.has_key(path) and (self._v_metaFiles[path][0]==stats[stat.ST_MTIME]): - return self._v_metaFiles[path][1] + #teste ob schon im cache zur Zeit kein chache wenn index.meta file nicht im selben ordner wir path. + print "PPP",path,"x",realPath + if self._v_metaFiles.has_key(realPath) and (self._v_metaFiles[realPath][0]==stats[stat.ST_MTIME]) and (path==""): + print "from cache" + return self._v_metaFiles[realPath][1] try: dom=xml.dom.minidom.parseString(server.getFile(indexMeta)) @@ -229,7 +248,7 @@ class OSAS_storeOnline(SimpleItem): object=os.path.join(realPath,pathX,name) ret[object.encode('utf-8')]=(fileType,'') - self._v_metaFiles[path]=(stats[stat.ST_MTIME],ret) # speicher im chache + self._v_metaFiles[realPath]=(stats[stat.ST_MTIME],ret) # speicher im chache return ret @@ -300,32 +319,32 @@ class OSAS_storeOnline(SimpleItem): return None #teste ob schon im cache - #if self._v_fileSystem.has_key(realPath) and (self._v_fileSystem[realPath][0]==stats[stat.ST_MTIME]): - # - # return self._v_fileSystem[realPath][1] + if self._v_fileSystem.has_key(realPath) and (self._v_fileSystem[realPath][0]==stats[stat.ST_MTIME]): + + return self._v_fileSystem[realPath][1] indexMetas=server.getAllIndexMetasOfSubDirs(realPath) dir=indexMetas.keys() ret={} for filename in dir: - print "doing",filename,indexMetas + object=os.path.join(realPath,filename) fileType=indexMetas[filename][0] if fileType: if (fileType=='OSAS_dir') and indexMetas.has_key(".") and indexMetas["."][1]: - print "TEEEEEEEEEE" + if(OSAS_helpers.isImageFolder(object,decodeRPC(indexMetas["."][1]))): fileType='OSAS_imageFolder' elif(OSAS_helpers.isVideoFolder(object,decodeRPC(indexMetas["."][1]))): fileType='OSAS_videoFolder' if metaData and indexMetas[filename][1]: - print "do",filename + ret[object]=(fileType,metaData.getDisplayFieldsAsStr(decodeRPC(indexMetas[filename][1]))) else: metaDataStr=self.findEntryInIndexMeta(object) - print "MMMMMDDDDD",metaDataStr + if metaDataStr: display=metaData.getDisplayFieldsAsStr(metaDataStr) dom=xml.dom.minidom.parseString(metaDataStr) @@ -335,7 +354,7 @@ class OSAS_storeOnline(SimpleItem): else: display="" - print object,fileType,display + ret[object]=(fileType,display) @@ -397,18 +416,19 @@ class OSAS_storeOnline(SimpleItem): for object in objectSorted: handler=self.giveHandlers(object,objects[object][0]) - print "format",objects[object][0] - if objects[object][0]=="OSAS_dir": - - string="""%s"""%(object,os.path.split(object)[1]) - - ret.append((string,handler,objects[object][1])) - elif objects[object][0]=="OSAS_dir_archive": - string="""%s (A)"""%(object,os.path.split(object)[1]) - - ret.append((string,handler,objects[object][1])) - else: - ret.append((os.path.split(object)[1],handler,objects[object][1])) + if not(os.path.split(object)[1]=="."): + if objects[object][0] in OSASDirObjects: + + string="""%s"""%(object,os.path.split(object)[1]) + + ret.append((string,handler,objects[object][1])) + elif objects[object][0]=="OSAS_dir_archive": + string="""%s (A)"""%(object,os.path.split(object)[1]) + + ret.append((string,handler,objects[object][1])) + else: + + ret.append((os.path.split(object)[1],handler,objects[object][1])) return ret