summaryrefslogtreecommitdiff
path: root/repoze/bfg/url.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-12-02 14:38:18 +0000
committerChris McDonough <chrism@agendaless.com>2009-12-02 14:38:18 +0000
commitf0b74a1701e990ea8e6dda55307d6b3ff737ad45 (patch)
tree8dffdd53d16f47af5c5b8f239dac3b099bd1cf89 /repoze/bfg/url.py
parent7fdab0a72973284b7b53888cd79d093d00e2471f (diff)
downloadpyramid-f0b74a1701e990ea8e6dda55307d6b3ff737ad45.tar.gz
pyramid-f0b74a1701e990ea8e6dda55307d6b3ff737ad45.tar.bz2
pyramid-f0b74a1701e990ea8e6dda55307d6b3ff737ad45.zip
- The ``repoze.bfg.url.route_url`` function inappropriately passed
along ``_query`` and/or ``_anchor`` arguments to the ``mapper.generate`` function, resulting in blowups.
Diffstat (limited to 'repoze/bfg/url.py')
-rw-r--r--repoze/bfg/url.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/repoze/bfg/url.py b/repoze/bfg/url.py
index 961d9423c..2079b41cd 100644
--- a/repoze/bfg/url.py
+++ b/repoze/bfg/url.py
@@ -92,20 +92,21 @@ def route_url(route_name, request, *elements, **kw):
except AttributeError:
reg = get_current_registry() # b/c
mapper = reg.getUtility(IRoutesMapper)
- path = mapper.generate(route_name, kw) # raises KeyError if generate fails
anchor = ''
qs = ''
if '_query' in kw:
- qs = '?' + urlencode(kw['_query'], doseq=True)
+ qs = '?' + urlencode(kw.pop('_query'), doseq=True)
if '_anchor' in kw:
- anchor = kw['_anchor']
+ anchor = kw.pop('_anchor')
if isinstance(anchor, unicode):
anchor = anchor.encode('utf-8')
anchor = '#' + anchor
+ path = mapper.generate(route_name, kw) # raises KeyError if generate fails
+
if elements:
suffix = _join_elements(elements)
if not path.endswith('/'):