> >  I've tried passing a function as argument to @error_handler but it
> >  doesn't seem to work. Is it possible at all? Or the argument has to be
> >  a method? This is what I tried:
> >
> >  def error( dummy, tg_errors=None ):
> >     return dict( errors=tg_errors, success=False, msg='There was an error'
> )
> >
> >  class controller( turbogears.controllers.Controller ):
> >     @expose( )
> >     @error_handler( error )
> >     @validate( validators=dict( value=Int( ) ) )
> >     def hello( self, value=2 ):
> >         return dict( value=value )
> >
> >  The first argument, 'dummy', of error( ) serves as the placeholder for
> >  the instance that is normally passed as first argument to a method.
> >  The reason I go this way is that I'd like to have the same
> >  error_handler for all methods of several controllers and want to
> >  define this error_handler only once. If I define it as a method on one
> >  of the controllers I can't really pass it to @error_handler decorating
> >  another method in another controller, can I?
>
> the correct way will be to define the generic error handler in the
> root controller. in TG2 this will be a lot easier as you can edit your
> rootcontroller in your /lib.
> in tg1 it's a bit more complicated you will do something like this.
> remember they are objects.
>
> class myRootController(RootController):
>     @expose()
>    def errorHandler(......)
>         ......
>
> class Controller1(myRootController):
>     etc.
>
> class Controller2(myRootController):
>     etc.
>
>
> that way you have one definition of the error handler and it's
> inherited to all of them.

Thanks Jorge, this is a good idea too.

Cheers,
Daniel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to