Diff for /OSA_system2/OSAS_server.py between versions 1.1 and 1.2

version 1.1, 2005/02/10 19:50:18 version 1.2, 2005/02/10 20:23:24
Line 11  from OSAS_helpers import * Line 11  from OSAS_helpers import *
 class OSAS_storeOnlineServer(SimpleItem):  class OSAS_storeOnlineServer(SimpleItem):
     """Server for store Online system"""      """Server for store Online system"""
   
       _v_metaFiles={} #chache fuer indexMeta
     meta_type="OSAS_server"      meta_type="OSAS_server"
       def getSubDirsFromIndexMeta(self,path):
           
           """Gebe alle path untergeordenten Objekte aus
           @param path: optional, default ist "", Pfad auf das Object relativ zum rootFolderName
           @return: Directory [pfad auf das Objekt]->(fileType,''), fileType ist hierbei OSAS_dir_archive falls Object ein directory und OSAS_file_archive falls das Object ein File ist,der zweite Eintrag des Tupels ist zur Zeit immer '', spaeter wird hier die Beschreibung gemaess Metadaten stehen, wie bei readObjectsFromPath.
           @todo: Rueckgabe einer Beschreibung gemaess Metadaten
           """
           ret={}
           #server=xmlrpclib.Server(self.serverUrl)
           indexMeta,stats=self.findIndexMetaWithStats(path)#findex index.meta zu path.
   
           if not indexMeta:
               return ret
   
           realPath=os.path.split(indexMeta)[0]
           path=path.replace(realPath,"")
           if path and (path[0]==os.sep): #falls am Anfang os.sep steht lösche dieses.
               path=path[1:]
   
   
   
           #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]
   
           try:
               dom=xml.dom.minidom.parse(indexMeta)
           except:
               zLOG.LOG("OSAS_browser (getSubDirsFromIndexMeta)",zLOG.ERROR,"Cannot parse: %s"%indexMeta)
               return ret
   
           dirs=[]
           dirs=dom.getElementsByTagName('dir')+dom.getElementsByTagName('file')
       
           for dir in dirs:
               pathes=dir.getElementsByTagName('path')
               if pathes:
                   pathX=OSAS_helpers.getText(pathes[0].childNodes)
               else:
                   pathX=""
               names=dir.getElementsByTagName('name')
               if names:
                   name=OSAS_helpers.getText(names[0].childNodes)
               else:
                   name=""
   
               #print "PP",pathX,path
               if pathX==path:
                   if dir.tagName=="dir":
                       fileType="OSAS_dir_archive"
                   else:
                       fileType="OSAS_file_archive"
   
                   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
         
           return ret
   
           
           
     def findIndexMeta(self,realPath=""):      def findIndexMeta(self,realPath=""):
         """finde Rueckwaerts im Baum von Pfad ausgehend, dass erste index.meta file          """finde Rueckwaerts im Baum von Pfad ausgehend, dass erste index.meta file

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>