Mercurial > summit-idp
changeset 57:83c3f19d7770
made static_file_serving.py work recursively
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Mon, 28 Jun 2010 16:46:00 -0700 |
parents | bd71f612d3b1 |
children | 422fcf9774b1 |
files | summitidp/static_file_serving.py |
diffstat | 1 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/summitidp/static_file_serving.py Mon Jun 28 13:02:45 2010 -0700 +++ b/summitidp/static_file_serving.py Mon Jun 28 16:46:00 2010 -0700 @@ -19,11 +19,22 @@ if path == '/': path = '/index.html' + files = {} + + for dirpath, dirnames, filenames in os.walk(self.root_dir): + dirnames[:] = [dirname for dirname in dirnames + if not dirname.startswith('.')] + svrdir = dirpath[len(self.root_dir):] + for filename in filenames: + fullpath = os.path.join(dirpath, filename) + svrpath = '/'.join([svrdir, filename]) + files[svrpath] = fullpath + if path.startswith('/') and environ['REQUEST_METHOD'] == 'GET': - filename = path.split('/')[1] - if filename in os.listdir(self.root_dir): + if path in files: + filename = files[path] mimetype, enc = mimetypes.guess_type(filename) - f = open(os.path.join(self.root_dir, filename)) + f = open(filename) start_response('200 OK', [('Content-Type', mimetype)]) return wsgiref.util.FileWrapper(f)