comparison uploader/dispatcher.py @ 3:bb2d34fb5de4

allow to be used as middleware
author k0s <k0scist@gmail.com>
date Sun, 27 Dec 2009 16:27:34 -0500
parents 0b5fce452087
children e5efa999911a
comparison
equal deleted inserted replaced
2:0b5fce452087 3:bb2d34fb5de4
10 10
11 ### class level variables 11 ### class level variables
12 defaults = { 'directory': None, 12 defaults = { 'directory': None,
13 'auth': 'False', 13 'auth': 'False',
14 'query_string': None, 14 'query_string': None,
15 'subpath': 'False' } 15 'subpath': 'False',
16 'app': None}
16 17
17 def __init__(self, **kw): 18 def __init__(self, **kw):
18 for key in self.defaults: 19 for key in self.defaults:
19 setattr(self, key, kw.get(key, self.defaults[key])) 20 setattr(self, key, kw.get(key, self.defaults[key]))
20 assert os.path.exists(self.directory) 21 assert os.path.exists(self.directory)
36 for h in self.handlers: 37 for h in self.handlers:
37 if h.match(self, request): 38 if h.match(self, request):
38 handler = h(self, request) 39 handler = h(self, request)
39 break 40 break
40 else: 41 else:
42 if self.app:
43 return self.app(environ, start_response)
41 handler = exc.HTTPNotFound 44 handler = exc.HTTPNotFound
42 res = handler() 45 res = handler()
43 return res(environ, start_response) 46 return res(environ, start_response)