Sorry for accidently posting this without any comment. I copied the code from web.unload_hook and slightly modified it. The trick is to check if the handler results as iterator, and wrap it inside another generator that yields error.
On Dec 16, 3:00 am, andrei <[email protected]> wrote: > import web > > web.internalerror=web.debugerror > > urls=( > r'/(.*)', r'Index' > ) > > def yield_processor(handler): > try: > result = handler() > is_generator = result and hasattr(result, 'next') > except: > raise #raises > > if is_generator: > return wrap(result) > else: > return result > > def wrap(result): > result = iter(result) > try: > while True: > yield result.next() > except Exception, e: > yield str(e) # here we yield Exception > > app=web.application(urls, globals()) > app.add_processor(yield_processor) > > class Index: > def GET(self, url): > yield "hello world" > function_doesnt_exists > > if __name__=='__main__': > app.run() > > On Dec 16, 12:11 am, je <[email protected]> wrote: > > > It doesn't work here (thank you though, add_processor() is > > interesting). > > -- You received this message because you are subscribed to the Google Groups "web.py" 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/webpy?hl=en.
