From f0b74a1701e990ea8e6dda55307d6b3ff737ad45 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 2 Dec 2009 14:38:18 +0000 Subject: - The ``repoze.bfg.url.route_url`` function inappropriately passed along ``_query`` and/or ``_anchor`` arguments to the ``mapper.generate`` function, resulting in blowups. --- repoze/bfg/url.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'repoze/bfg/url.py') 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('/'): -- cgit v1.2.3