Forked from
DM / dm-docs
261 commits behind, 299 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
catWebServiceRouteMapper.py 1.23 KiB
#!/usr/bin/env python
#
# Route mapper for DM CAT web service.
#
import sys
import os
import cherrypy
from dm.common.utility.loggingManager import LoggingManager
from dm.common.utility.configurationManager import ConfigurationManager
from dm.common.service.loginRouteDescriptor import LoginRouteDescriptor
from fileRouteDescriptor import FileRouteDescriptor
from datasetRouteDescriptor import DatasetRouteDescriptor
class CatWebServiceRouteMapper:
@classmethod
def setupRoutes(cls):
""" Setup RESTFul routes. """
logger = LoggingManager.getInstance().getLogger(cls.__name__)
contextRoot = ConfigurationManager.getInstance().getContextRoot()
logger.debug('Using context root: %s' % contextRoot)
# Get routes.
routes = LoginRouteDescriptor.getRoutes()
routes += FileRouteDescriptor.getRoutes()
routes += DatasetRouteDescriptor.getRoutes()
# Add routes to dispatcher.
d = cherrypy.dispatch.RoutesDispatcher()
for route in routes:
logger.debug('Connecting route: %s' % route)
d.connect(route['name'], route['path'], action=route['action'], controller=route['controller'], conditions=dict(method=route['method']))
return d