Just an attempt to revive this question ;-)

Here is a link to a patch: http://pastebin.com/m417aa1f5

Any chance to see this merged in trunk ?

Bye.




On 26 mai, 23:54, desfrenes <desfre...@gmail.com> wrote:
> cool :-)
>
> On 26 mai, 23:47, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > interesting. Let me give this some thought. something like this could
> > go in trunk.
>
> > Massimo
>
> > On May 26, 4:24 pm, desfrenes <desfre...@gmail.com> wrote:
>
> > > not pretty I guess, but it does what I want. is there any chance to a
> > > similar/better solution in a next version of web2py ?
>
> > > On 26 mai, 23:23, desfrenes <desfre...@gmail.com> wrote:
>
> > > > okay, so here it is.
>
> > > > in routes.py:
> > > >     use_error_controller = True
>
> > > > in main.py (line 218):
>
> > > > # ##################################################
> > > > # access the requested application
> > > > # ##################################################
>
> > > > if not os.path.exists(request.folder):
> > > >     if request.application=='init':
> > > >         request.application = 'welcome'
> > > >         redirect(html.URL(r=request))
> > > >     use_error_controller = rewriteSymbols.get('use_error_controller',
> > > > None)
> > > >     if use_error_controller == True:
> > > >         request.application = 'error'
> > > >         request.controller = 'default'
> > > >         request.function = 'index'
> > > >         request.folder = os.path.join(request.env.web2py_path,
> > > >                                       'applications',
> > > > request.application) + '/'
> > > >     else:
> > > >         raise HTTP(400, error_message,
> > > >                    web2py_error='invalid application')
>
> > > > and then in error/default/index I can query the database for content
> > > > where url=request.path_info
>
> > > > On 26 mai, 22:45, desfrenes <desfre...@gmail.com> wrote:
>
> > > > > In other words, the question would be "how do I intercept 400+ errors
> > > > > before the reponse is sent to the browser".
>
> > > > > Diggin' web2py's code (main.py, line 226) I found an possible way to
> > > > > do it:
>
> > > > > # ##################################################
> > > > > # access the requested application
> > > > > # ##################################################
>
> > > > > if not os.path.exists(request.folder):
> > > > >     if request.application=='init':
> > > > >         request.application = 'welcome'
> > > > >         redirect(html.URL(r=request))
>
> > > > >     #
> > > > >     # No url match so, if set in config (routes.py?),
> > > > >     # call special controller/method handler here (error/error).
> > > > >     #
> > > > >     # [call method here]
> > > > >     #
> > > > >     # If not set, go on with standard error http error:
> > > > >     #
>
> > > > >     raise HTTP(400, error_message,
> > > > >                web2py_error='invalid application')
>
> > > > > I lack in-depth knowledge of web2py's internals but I'll try to
> > > > > implement this and send a patch.
>
> > > > > -
>
> > > > > On 26 mai, 21:57, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > > > Not sure I completely understand the issue but as long as it is ok
> > > > > > with you fine.
>
> > > > > > On May 26, 2:32 pm, desfrenes <desfre...@gmail.com> wrote:
>
> > > > > > > Thanks.
>
> > > > > > > I first played with routes_onerror but it was useless for me 
> > > > > > > since it
> > > > > > > affects only redirection (I needed to trap the error *before*
> > > > > > > redirection occurs).
>
> > > > > > > Then I found this 
> > > > > > > thread:http://groups.google.com/group/web2py/browse_thread/thread/95910208a4...
>
> > > > > > > Using a regexp to map .html urls to a controller is ok and I will
> > > > > > > probably use that, but it means the url still has to have ".html" 
> > > > > > > in
> > > > > > > it, thus not reaching the goal of having a complete arbitrary 
> > > > > > > url. But
> > > > > > > it's ok though.
>
> > > > > > > On 26 mai, 08:17, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > > > > > There may be an easier to implement Djangoflatpagesin web2py 
> > > > > > > > but if
> > > > > > > > you need to trap error codes, look into
>
> > > > > > > > web2py/routes.examples.py
>
> > > > > > > > Massimo
>
> > > > > > > > On May 26, 12:51 am, desfrenes <desfre...@gmail.com> wrote:
>
> > > > > > > > > Hello,
>
> > > > > > > > > I'm trying to build something similar to 
> > > > > > > > > theflatpageapplication in
> > > > > > > > > django, that is an app that maps a simple content to an 
> > > > > > > > > arbitrary url.
> > > > > > > > > To do so I have to trap 400 and 404 errors and then see if a 
> > > > > > > > > content
> > > > > > > > > is attached to this url. If so, display it, if not, raise the 
> > > > > > > > > error
> > > > > > > > > again.
>
> > > > > > > > > How can I trap 400 and 404 errors ?
>
> > > > > > > > > Cheers
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to