I've been advocating the use of doctests in routes.py to debug problems. Here's 
another doctest you can use (I'll send a patch to Massimo that adds an example).

    >>> compile_re('.*http://otherdomain.com.* (?P<any>.*)', 
'/app/ctr\g<any>')[0].pattern
    '^.*http://otherdomain.com.* (?P<any>.*)$'
    >>> compile_re('.*http://otherdomain.com.* (?P<any>.*)', 
'/app/ctr\g<any>')[1]
    '/app/ctr\\\\g<any>'
    >>> compile_re('/$c/$f', '/init/$c/$f')[0].pattern
    '^.*?:https?://[^:/]+:[a-z]+ /(?P<c>[\\\\w_]+)/(?P<f>[\\\\w_]+)$'
    >>> compile_re('/$c/$f', '/init/$c/$f')[1]
    '/init/\\\\g<c>/\\\\g<f>'

For the trunk version, the import line needs to change to this:

    from gluon.rewrite import select, load, filter_url, filter_out, filter_err, 
compile_re

Notice that the backslash escaping gets a little confusing. I can't figure out 
how to use raw strings properly here; so it goes.

Reply via email to