summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt4
-rw-r--r--repoze/bfg/url.py5
2 files changed, 7 insertions, 2 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 96f5a8355..95ca8e3e2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,10 @@ Features
- Speed up ``repoze.bfg.traversal.traverse`` slightly.
+- Speed up ``repoze.bfg.url.model_url`` slightly.
+
+- Speed up ``repoze.bfg.url.route_url`` slightly.
+
Internal
--------
diff --git a/repoze/bfg/url.py b/repoze/bfg/url.py
index 1fd9bab1e..0583fb3f4 100644
--- a/repoze/bfg/url.py
+++ b/repoze/bfg/url.py
@@ -13,6 +13,7 @@ from repoze.bfg.path import caller_package
from repoze.bfg.static import StaticRootFactory
from repoze.bfg.traversal import TraversalContextURL
from repoze.bfg.traversal import quote_path_segment
+from repoze.bfg.traversal import _join_path_tuple
def route_url(route_name, request, *elements, **kw):
"""Generates a fully qualified URL for a named BFG route.
@@ -103,7 +104,7 @@ def route_url(route_name, request, *elements, **kw):
anchor = '#' + anchor
if elements:
- suffix = '/'.join([quote_path_segment(s) for s in elements])
+ suffix = _join_path_tuple(elements)
if not path.endswith('/'):
suffix = '/' + suffix
else:
@@ -194,7 +195,7 @@ def model_url(model, request, *elements, **kw):
anchor = '#' + anchor
if elements:
- suffix = '/'.join([quote_path_segment(s) for s in elements])
+ suffix = _join_path_tuple(elements)
else:
suffix = ''