diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-12-02 14:38:18 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-12-02 14:38:18 +0000 |
| commit | f0b74a1701e990ea8e6dda55307d6b3ff737ad45 (patch) | |
| tree | 8dffdd53d16f47af5c5b8f239dac3b099bd1cf89 /repoze/bfg/url.py | |
| parent | 7fdab0a72973284b7b53888cd79d093d00e2471f (diff) | |
| download | pyramid-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.py | 7 |
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('/'): |
