#!/usr/bin/env python # # Route mapper for DM DAQ 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 workflowRouteDescriptor import WorkflowRouteDescriptor class ProcWebServiceRouteMapper: @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 += WorkflowRouteDescriptor.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