diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-06-24 19:23:43 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-06-24 19:23:43 +0000 |
| commit | 05c02322f5a09c14f49c529d6fd885153e52c66f (patch) | |
| tree | c09c43dc7b82d6cc475648c33313d1c1e495311e /repoze/bfg/traversal.py | |
| parent | aedb399ccb4da1d055163708894f690bb96685c0 (diff) | |
| download | pyramid-05c02322f5a09c14f49c529d6fd885153e52c66f.tar.gz pyramid-05c02322f5a09c14f49c529d6fd885153e52c66f.tar.bz2 pyramid-05c02322f5a09c14f49c529d6fd885153e52c66f.zip | |
Merge noroutes branch to trunk.
Diffstat (limited to 'repoze/bfg/traversal.py')
| -rw-r--r-- | repoze/bfg/traversal.py | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/repoze/bfg/traversal.py b/repoze/bfg/traversal.py index e15bb8f20..b79f87d4c 100644 --- a/repoze/bfg/traversal.py +++ b/repoze/bfg/traversal.py @@ -614,20 +614,14 @@ class TraversalContextURL(object): route = environ['bfg.routes.route'] matchdict = environ['bfg.routes.matchdict'].copy() matchdict['traverse'] = path - # we can't use route.generate here because our matchdict - # keys are Unicode - if route.minimization: - segments = route.generate_minimized(matchdict) - else: - segments = route.generate_non_minimized(matchdict) - if segments is False: - raise ValueError( - "Couldn't generate URL for matchdict %r" % matchdict) + try: + segments = route.generate(matchdict) + except KeyError, why: + raise KeyError( + "Couldn't generate URL for matchdict %r: %s" % + (matchdict, str(why))) app_url = request.application_url - if segments.startswith('/'): - return app_url + segments - else: - return app_url + '/' + segments + return app_url + segments else: app_url = request.application_url # never ends in a slash return app_url + path |
