aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/routing.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/routing.py')
-rw-r--r--mediagoblin/routing.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/mediagoblin/routing.py b/mediagoblin/routing.py
index 4b9c42ee..8f0f37a5 100644
--- a/mediagoblin/routing.py
+++ b/mediagoblin/routing.py
@@ -21,15 +21,28 @@ url_map = Map()
view_functions = {'index': 'mediagoblin.views:index'}
def add_route(endpoint, url, controller):
+ """
+ Add a route to the url mapping
+ """
view_functions.update({endpoint: controller})
url_map.add(Rule(url, endpoint=endpoint))
+def mount(mountpoint, routes):
+ """
+ Mount a bunch of routes to this mountpoint
+ """
+ for endpoint, url, controller in routes:
+ url = "%s/%s" % (mountpoint.rstrip('/'), url.lstrip('/'))
+ add_route(endpoint, url, controller)
+
add_route('index', '/', 'mediagoblin.views:root_view')
import mediagoblin.submit.routing
import mediagoblin.user_pages.routing
-import mediagoblin.auth.routing
import mediagoblin.edit.routing
import mediagoblin.webfinger.routing
import mediagoblin.listings.routing
+
+from mediagoblin.auth.routing import auth_routes
+mount('/auth', auth_routes)