Annotation of OSA_system2/OSAS_server.py, revision 1.6

1.1       dwinter     1: import os
                      2: import os.path
                      3: import stat
1.6     ! dwinter     4: import OSAS_helpers
1.1       dwinter     5: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
                      6: from Globals import InitializeClass,package_home
                      7: from OFS.SimpleItem import SimpleItem
1.3       dwinter     8: 
1.4       dwinter     9: 
                     10: 
1.1       dwinter    11: 
                     12: class OSAS_storeOnlineServer(SimpleItem):
                     13:     """Server for store Online system"""
1.2       dwinter    14:     
1.4       dwinter    15:     
1.2       dwinter    16:     meta_type="OSAS_server"
                     17: 
                     18:   
1.1       dwinter    19:     def findIndexMeta(self,realPath=""):
                     20:         """finde Rueckwaerts im Baum von Pfad ausgehend, dass erste index.meta file
                     21:         @keyword path: default ist "", Pfad auf das Object
                     22:         @return: None falls kein index.meta existiert sonst Pfad auf das index.meta
                     23:         """
                     24:         
                     25:         #suche index.meta
                     26:         while (not os.path.exists(os.path.join(realPath,'index.meta'))) and (not ((realPath=="") or (realPath=="/"))):
                     27:             realPath=os.path.split(realPath)[0]
                     28:             
                     29:         if realPath=='' or realPath=='/':
                     30:             if os.path.exists(os.path.join(realPath,'index.meta')):
                     31:                 return (os.path.join(realPath,'index.meta'))
                     32:             else:
                     33:                 return None
                     34:         else:
                     35:             return os.path.join(realPath,'index.meta')
                     36: 
                     37:     def findIndexMetaWithStats(self,path=""):
                     38:         """finde Rueckwaerts im Baum von Pfad ausgehend, dass erste index.meta file
                     39:         @keyword path: default ist "", Pfad auf das Object
                     40:         @return: None falls kein index.meta existiert sonst Tupel (Pfad auf das index.meta,stats(indexMeta)
                     41:         """
                     42: 
                     43:         indexMeta=self.findIndexMeta(path)
                     44:         if indexMeta:
                     45:             return (indexMeta,self.getStat(indexMeta))
                     46:         else:
                     47:             return (None,[])
                     48: 
                     49: 
                     50:     def getStat(self,path=""):
                     51:         """Gibt stat von path aus
                     52:         @keyword path: default ist "", Pfad
                     53:         @return: stat[path]"""
                     54: 
                     55:         if not os.path.exists(path):
                     56:             #return None,"(ERROR) path %s does not exist."%path
                     57:             return None
                     58:         else:
                     59:             return [x for x in os.stat(path)]
                     60:             
                     61:             
                     62:             
                     63: 
                     64:     def listdir(self,path=""):
                     65:         """list dir"""
                     66:         return os.listdir(path)
                     67: 
1.5       dwinter    68:     def isdir(self,path=""):
                     69:         """list dir"""
                     70:         return os.path.isdir(path)
                     71: 
                     72:     def isfile(self,path=""):
                     73:         """list dir"""
1.6     ! dwinter    74:         return os.path.isfile(path)
1.5       dwinter    75: 
                     76: 
                     77: 
1.3       dwinter    78:     def getFile(self,path):
                     79:         """getFile"""
1.4       dwinter    80: 
                     81:         if not os.path.exists(path):
                     82:             return None
                     83: 
1.3       dwinter    84:         f=file(path,'r')
1.4       dwinter    85:         
1.3       dwinter    86:         ret=f.read()
1.4       dwinter    87: 
1.3       dwinter    88:         f.close()
1.4       dwinter    89:         
1.3       dwinter    90:         return ret
1.6     ! dwinter    91: 
        !            92:     def getAllIndexMetasOfSubDirs(self,path):
        !            93:         """get all index Metas"""
        !            94:         ret={}
        !            95:         if os.path.exists(path+"/index.meta"):
        !            96:             ret["."]=file(path+"/index.meta","r").read()
        !            97:         for dir in os.listdir(path):
        !            98:             fileType=OSAS_helpers.checkOSASFileType(os.path.join(path,dir))
        !            99:             if os.path.exists(os.path.join(path,dir,"index.meta")):
        !           100:                 ret[dir]=('OSAS_dir',file(os.path.join(path,dir,"index.meta"),"r").read())
        !           101:             else:
        !           102:                 ret[dir]=(fileType,None)
        !           103:         return ret
        !           104: 
        !           105:                               
        !           106:         
1.1       dwinter   107: def manage_addOSAS_storeOnlineServerForm(self):
                    108:     """interface for adding the OSAS_storeOnline"""
                    109:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addStoreOnlineServer.zpt')).__of__(self)
                    110:     return pt()
                    111: 
                    112: def manage_addOSAS_storeOnlineServer(self,id,RESPONSE=None):
                    113:     """add the OSAS_storeOnline
                    114:     @param id: id
                    115:     """
                    116:     newObj=OSAS_storeOnlineServer(id)
                    117:     self._setObject(id,newObj)
                    118:     if RESPONSE is not None:
                    119:         RESPONSE.redirect('manage_main')
                    120: 

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