I believe the error is in the test not the routing code.
On Sep 16, 5:46 pm, Jonathan Lundell <jlund...@pobox.com> wrote:
> On Sep 16, 2009, at 1:18 PM, David Zejda 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?
>
> Just a reminder that the routes.py unit test for error handling fails.
> I sort of assumed that the test was bad, but maybe the test is fine
> and the code is bad. (I don't understand it myself, so I'm of no help
> there.)
>
>
>
> > 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
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---