On Tue, Feb 21, 2012 at 10:31 AM, Graham Dumpleton < graham.dumple...@gmail.com> wrote:
> On 21 February 2012 20:26, Simon Sapin <simon.sa...@exyr.org> wrote: > > Le 21/02/2012 09:23, Tarek Ziadé a écrit : > > > >> Instead of having to provide two or three objects separately to a > >> server, how about making the callbacks attributes of the application > >> callable? > >> > >> > >> can you show us an example ? > > > > > > Proposal: > > > > Function-based: > > > > def startup(): > > return open_resource(something) > > > > def shutdown(resource): > > resource.close() > > > > def application(environ, start_response): > > # ... > > return response_body > > > > application.startup = startup > > application.shutdown = shutdown > > > > Class-based: > > > > class App(object): > > def startup(self): > > return open_resource(something) > > > > def shutdown(self, resource): > > resource.close() > > > > def __call__(self, environ, start_response): > > # ... > > return response_body > > > > application = App() > > > > The return value of startup() can be any python object and is opaque to > the > > server. It is passed as-is to shutdown() > > > > startup() could take more parameters. Maybe the application (though can > we > > already have it as self for class-based or in a closure for > function-based) > > You do realise you are just reinventing context managers? > > With this 'application' do requests. > > But then it was sort of suggested that was a bit too radical idea when > I have mentioned viewing it that way before. :-( > > One might wonder if having access to process management should be part of WSGI in the first place. -- - Sylvain http://www.defuze.org http://twitter.com/lawouach
_______________________________________________ Web-SIG mailing list Web-SIG@python.org Web SIG: http://www.python.org/sigs/web-sig Unsubscribe: http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com