Mercurial > hg > contenttransformer
diff contenttransformer/web.py @ 0:29805d442afc
initial commit of contenttransformer; still in the stub stage
author | k0s <k0scist@gmail.com> |
---|---|
date | Mon, 11 Jan 2010 11:32:24 -0500 |
parents | |
children | aa491070ccf3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contenttransformer/web.py Mon Jan 11 11:32:24 2010 -0500 @@ -0,0 +1,35 @@ +""" +example app for how to use TypedTransformer TTW on a directory +""" + +import os + +from contenttransformer.app import FileTypeTransformer +from webob import Request, exc + +class Dispatcher(object): + + ### class level variables + defaults = { 'app': None, + 'directory': None, + 'transforms': ''} + + def __init__(self, **kw): + for key in self.defaults: + setattr(self, key, kw.get(key, self.defaults[key])) + assert os.path.exists(self.directory) + self.transforms = [ [j.strip() for j in i.split('=', 1) ] for i in self.transforms.split(',') if '=' in i] + self.handler = FileTypeTransformer(*self.transforms) + if self.app: + assert hasattr(self.app, '__call__') + + ### methods dealing with HTTP + def __call__(self, environ, start_response): + request = Request(environ) + path = os.path.join(self.directory, request.path_info) + if os.path.exists(path): + handler = + else: + handler = exc.HTTPNotFound() + pass # TODO: if self.app ... + return res(environ, start_response)