My bad. the error_handler is only used when you search for an app that does not exist. To redirect from an error in an existing application (any app */ any error *) use the following routes.py
routes_onerror = [('*/*', '/error/default/index')] On Sep 16, 3:18 pm, David Zejda <d...@atlas.cz> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hello, > > I returned to examine the problem more deeply, but now it behaves > differently and I do not know why, I do not remember any change, which > could cause the change. > > Now the error_handler entry in routes.py seems to be completely ignored. > I tried further to make a simpliest testing scenario possible - there is > application "error" with "default" controller only: > > def index(): > return dict(msg="aaa") > > def err(): > raise Exception("bbb") > > Error raised by "err" function results in standard error though there is > > error_handler = dict(application='error', > controller='default',function='index') > > in routes.py. > > If I call index() directly (http://127.0.0.1:8000/error) it works > normally. The routes.py is not ignored in whole - change in > error_message works. > > Please, any ideas? > > David > > mdipierro napsal(a): > > > If this is the case I could use some help debugging it. > > > Massimo > > > On Sep 11, 7:54 am, David Zejda <d...@atlas.cz> wrote: > > Thank you for the help. > > > I have one problem with the solution - it seems, that if there is custom > > error_handler in routes.py specified, the ticket is not being generated. > > No file with traceback information appears and also the > > request.vars.ticket is left undefined. > > > David > > > mdipierro napsal(a): > > >>>> make app "error" with a controller default.py and an action > >>>> def index(): > >>>> from gluon.tools import Mail > >>>> mail=Mail() > >>>> mail.settings.server="smpt.example.com:port" > >>>> mail.settings.sender="y...@example.com" > >>>> mail.settings.login="you:password" > >>>> ticket=request.vars.ticket > >>>> subject="Ticket: %s" % ticket > >>>> message=bla bla bla > >>>> mail.sent > >>>> (to="administra...@example.com",subject=subject,message=message) > >>>> return "Sorry, an error occurred (%s), administrator has been > >>>> notified" % ticket > >>>> and then create a file web2py/routes.py and in it write: > >>>> error_handler = dict(application='error', controller='default', > >>>> function='index') > >>>> On Sep 10, 8:54 am, David Zejda <d...@atlas.cz> wrote: > >>>> Hello, > >>>> for a productive site I wish to touch the default error handler, maybe > >>>> using some kind of decorator. IMO it would be good to > >>>> 1. retain the ticket generation > >>>> 2. notify admin by e-mail > >>>> 3. redirect client to a custom error page > >>>> I would like to do it site-wide - not using the decorators for all > >>>> controller functions one-by-one. > >>>> Please, I will appreciate your advices.. > >>>> Thanks a lot! > >>>> David > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org > > iEYEARECAAYFAkqxSAgACgkQ3oCkkciamVFW4ACggn3XI+3qZtiZIr3vA3D5cocd > 4FoAnREVbhxKmvLH7n1df5qhG6abhFh7 > =mtr1 > -----END PGP SIGNATURE----- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---