import os
import os.path
import stat
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Globals import InitializeClass,package_home
from OFS.SimpleItem import SimpleItem
import OSAS_helpers
from OSAS_helpers import *
class OSAS_storeOnlineServer(SimpleItem):
"""Server for store Online system"""
_v_metaFiles={} #chache fuer indexMeta
meta_type="OSAS_server"
def findIndexMeta(self,realPath=""):
"""finde Rueckwaerts im Baum von Pfad ausgehend, dass erste index.meta file
@keyword path: default ist "", Pfad auf das Object
@return: None falls kein index.meta existiert sonst Pfad auf das index.meta
"""
#suche index.meta
while (not os.path.exists(os.path.join(realPath,'index.meta'))) and (not ((realPath=="") or (realPath=="/"))):
realPath=os.path.split(realPath)[0]
if realPath=='' or realPath=='/':
if os.path.exists(os.path.join(realPath,'index.meta')):
return (os.path.join(realPath,'index.meta'))
else:
return None
else:
return os.path.join(realPath,'index.meta')
def findIndexMetaWithStats(self,path=""):
"""finde Rueckwaerts im Baum von Pfad ausgehend, dass erste index.meta file
@keyword path: default ist "", Pfad auf das Object
@return: None falls kein index.meta existiert sonst Tupel (Pfad auf das index.meta,stats(indexMeta)
"""
indexMeta=self.findIndexMeta(path)
if indexMeta:
return (indexMeta,self.getStat(indexMeta))
else:
return (None,[])
def getStat(self,path=""):
"""Gibt stat von path aus
@keyword path: default ist "", Pfad
@return: stat[path]"""
if not os.path.exists(path):
#return None,"(ERROR) path %s does not exist."%path
return None
else:
return [x for x in os.stat(path)]
def listdir(self,path=""):
"""list dir"""
return os.listdir(path)
def getFile(self,path):
"""getFile"""
f=file(path,'r')
ret=f.read()
f.close()
return ret
def manage_addOSAS_storeOnlineServerForm(self):
"""interface for adding the OSAS_storeOnline"""
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addStoreOnlineServer.zpt')).__of__(self)
return pt()
def manage_addOSAS_storeOnlineServer(self,id,RESPONSE=None):
"""add the OSAS_storeOnline
@param id: id
"""
newObj=OSAS_storeOnlineServer(id)
self._setObject(id,newObj)
if RESPONSE is not None:
RESPONSE.redirect('manage_main')
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>