Add __repr__ for Collection and CollectionItem
[mediagoblin.git] / mediagoblin / routing.py
index 90e1f3f88dc6079378ad5d9e9dfbc337fe5c84c8..3ec1dba0d876fd5782f9e6391d1bd2a1ad3c146e 100644 (file)
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-from routes import Mapper
+import logging
 
+from mediagoblin.tools.routing import add_route, mount, url_map
+from mediagoblin.tools.pluginapi import PluginManager
+from mediagoblin.moderation.routing import moderation_routes
 from mediagoblin.auth.routing import auth_routes
-from mediagoblin.submit.routing import submit_routes
-from mediagoblin.user_pages.routing import user_routes
-from mediagoblin.edit.routing import edit_routes
-from mediagoblin.listings.routing import tag_routes
-from mediagoblin.webfinger.routing import webfinger_well_known_routes, \
-    webfinger_routes
-from mediagoblin.admin.routing import admin_routes
-
-
-def get_mapper(plugin_routes):
-    mapping = Mapper()
-    mapping.minimization = False
-
-    # Plugin routes go first so they can override default routes.
-    mapping.extend(plugin_routes)
-
-    mapping.connect(
-        "index", "/",
-        controller="mediagoblin.views:root_view")
-
-    mapping.extend(auth_routes, '/auth')
-    mapping.extend(submit_routes, '/submit')
-    mapping.extend(user_routes, '/u')
-    mapping.extend(edit_routes, '/edit')
-    mapping.extend(tag_routes, '/tag')
-    mapping.extend(webfinger_well_known_routes, '/.well-known')
-    mapping.extend(webfinger_routes, '/api/webfinger')
-    mapping.extend(admin_routes, '/a')
-
-    return mapping
+
+
+_log = logging.getLogger(__name__)
+
+
+def get_url_map():
+    add_route('index', '/', 'mediagoblin.views:root_view')
+    add_route('terms_of_service','/terms_of_service',
+        'mediagoblin.views:terms_of_service'),
+    mount('/auth', auth_routes)
+    mount('/mod', moderation_routes)
+
+    import mediagoblin.submit.routing
+    import mediagoblin.user_pages.routing
+    import mediagoblin.edit.routing
+    import mediagoblin.listings.routing
+    import mediagoblin.notifications.routing
+    import mediagoblin.oauth.routing
+    import mediagoblin.federation.routing
+
+    for route in PluginManager().get_routes():
+        add_route(*route)
+
+    return url_map