summaryrefslogtreecommitdiff
path: root/repoze/bfg/traversal.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-24 19:23:43 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-24 19:23:43 +0000
commit05c02322f5a09c14f49c529d6fd885153e52c66f (patch)
treec09c43dc7b82d6cc475648c33313d1c1e495311e /repoze/bfg/traversal.py
parentaedb399ccb4da1d055163708894f690bb96685c0 (diff)
downloadpyramid-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.py20
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