--- OSA_system2/OSAS_server.py 2005/02/11 17:01:22 1.5 +++ OSA_system2/OSAS_server.py 2005/03/03 20:41:00 1.11 @@ -1,11 +1,16 @@ import os import os.path import stat +import OSAS_helpers +import xmlrpclib +import bz2 +import base64 from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Globals import InitializeClass,package_home from OFS.SimpleItem import SimpleItem - +def encodeRPC(string): + return base64.encodestring(bz2.compress(string)) class OSAS_storeOnlineServer(SimpleItem): @@ -70,7 +75,7 @@ class OSAS_storeOnlineServer(SimpleItem) def isfile(self,path=""): """list dir""" - return os.path.isdir(path) + return os.path.isfile(path) @@ -78,6 +83,7 @@ class OSAS_storeOnlineServer(SimpleItem) """getFile""" if not os.path.exists(path): + print "sorry" return None f=file(path,'r') @@ -87,7 +93,33 @@ class OSAS_storeOnlineServer(SimpleItem) f.close() return ret - + + def getAllIndexMetasOfSubDirs(self,path): + """get all index Metas""" + ret={} + if os.path.exists(path+"/index.meta"): + compressed=encodeRPC(file(path+"/index.meta","r").read()) + ret["."]=('OSAS_dir',compressed) + for dir in os.listdir(path): + fileType=OSAS_helpers.checkOSASFileType(os.path.join(path,dir)) + if os.path.exists(os.path.join(path,dir,"index.meta")): + compressed=encodeRPC(file(os.path.join(path,dir,"index.meta"),"r").read()) + ret[dir]=('OSAS_dir',compressed) + else: + ret[dir]=(fileType,None) + return ret + + def writeMetaDataFile(self,path,metadata): + """writefiletoserver""" + try: + fh=file(path,"w") + fh.write(metadata) + fh.close + return True + except: + return False + + def manage_addOSAS_storeOnlineServerForm(self): """interface for adding the OSAS_storeOnline""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addStoreOnlineServer.zpt')).__of__(self)