A more clear way may be to define a function:

def __after__(self):
  """Executes after the request"""
  print('foo')

There is also __before__ if you need preprocessing.

-Hollister

On Oct 21, 5:46 am, Stéphane Klein <[email protected]> wrote:
> Le 21/10/2010 11:39, St phane Klein a crit :
>
> > Where is the good place to always execute a code after all HTTP requests
> > execution ?
>
> Answer on IRC :
>
> <harobed> hi, Where is the good place to always execute a code after all
> HTTP requests execution ?
> <mgedmin> wsgi middleware would be an option
> <mgedmin> or you could do that thing in your BaseController.__call__
> <harobed> ok, I see it
>
> In lib/base.py, I put this code :
>
> class BaseController(WSGIController):
>
>      ...
>
>      def __call__(self, environ, start_response):
>          """Invoke the Controller"""
>          # WSGIController.__call__ dispatches to the Controller method
>          # the request is routed to. This routing information is
>          # available in environ['pylons.routes_dict']
>
>          try:
>              return WSGIController.__call__(self, environ, start_response)
>          finally:
>              print('Foobar')
>              meta.Session.remove()
>
> Here, "Foobar" is printed in console after all request.
>
> Regards,
> Stephane
> --
> St phane Klein <[email protected]> - French
> blog:http://stephane-klein.info
> twitter:http://twitter.com/klein_stephane
> pro:http://www.is-webdesign.com

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to