summaryrefslogtreecommitdiff
path: root/repoze/bfg/urldispatch.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-25 02:55:38 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-25 02:55:38 +0000
commit17358dde36850af57571e6d8930a35d8494b53d1 (patch)
tree9410015d05848fa56030dbbe6e8a2dc3f82a695d /repoze/bfg/urldispatch.py
parent03b756271de674932845e4b07fab050e60d8df34 (diff)
downloadpyramid-17358dde36850af57571e6d8930a35d8494b53d1.tar.gz
pyramid-17358dde36850af57571e6d8930a35d8494b53d1.tar.bz2
pyramid-17358dde36850af57571e6d8930a35d8494b53d1.zip
- Make ``route_url`` URL-quote segment replacements during generation.
Remainder segments are not quoted.
Diffstat (limited to 'repoze/bfg/urldispatch.py')
-rw-r--r--repoze/bfg/urldispatch.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/repoze/bfg/urldispatch.py b/repoze/bfg/urldispatch.py
index 497d3980e..885f0eb98 100644
--- a/repoze/bfg/urldispatch.py
+++ b/repoze/bfg/urldispatch.py
@@ -1,5 +1,7 @@
import re
+from repoze.bfg.traversal import _url_quote
+
_marker = object()
class Route(object):
@@ -96,6 +98,11 @@ def _compile_route(route):
for k, v in dict.items():
if isinstance(v, unicode):
v = v.encode('utf-8')
+ if (k!=star):
+ try:
+ v = _url_quote(v)
+ except TypeError:
+ pass
newdict[k] = v
return gen % newdict