--- 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