From 9c602458d830c1ebcd0ede7c14f7ddef79e2a73f Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 21 Nov 2014 13:18:25 +0000 Subject: Fix #1025 - Make API IDs IRIs --- mediagoblin/tools/routing.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'mediagoblin/tools') diff --git a/mediagoblin/tools/routing.py b/mediagoblin/tools/routing.py index a15795fe..2ff003b7 100644 --- a/mediagoblin/tools/routing.py +++ b/mediagoblin/tools/routing.py @@ -15,6 +15,7 @@ # along with this program. If not, see . import logging +import urlparse import six from werkzeug.routing import Map, Rule @@ -65,3 +66,17 @@ def mount(mountpoint, routes): for endpoint, url, controller in routes: url = "%s/%s" % (mountpoint.rstrip('/'), url.lstrip('/')) add_route(endpoint, url, controller) + +def extract_url_arguments(url, urlmap): + """ + This extracts the URL arguments from a given URL + """ + parsed_url = urlparse.urlparse(url) + map_adapter = urlmap.bind( + server_name=parsed_url.netloc, + script_name=parsed_url.path, + url_scheme=parsed_url.scheme, + path_info=parsed_url.path + ) + + return map_adapter.match()[1] -- cgit v1.2.3