from hserver.api import WebObject from objectbroker import Persistence,NoPersistence import os class FileObject(WebObject): def __init__(self,file=None,path=None,contenttype="application/octet-stream"): self._file = file self._path = path self._content = None self._contenttype = contenttype def __call__(self,request,o=None): if self._content is None: if self._file is None: self._file = open( self._path, "rb" ) self._content = self._file.read() request.setResponseHeader("Content-Type",self._contenttype) request.getBinaryContentFile().write(self._content) class DiskFolder(WebObject,Persistence): def __init__(self, path, readOnly = False): self.__path = path self.__readOnly = readOnly self.__files = {} def __dir__(self): return os.listdir( self.__path )