#!/usr/bin/env python # # User route descriptor. # from dm.common.utility.configurationManager import ConfigurationManager from experimentSessionController import ExperimentSessionController class ExperimentRouteDescriptor: @classmethod def getRoutes(cls): contextRoot = ConfigurationManager.getInstance().getContextRoot() # Static instances shared between different routes experimentSessionController = ExperimentSessionController() # Define routes. routes = [ # Start experiment daq { 'name' : 'startDaq', 'path' : '%s/experimentsByName/:(experimentName)/startDaq/:(dataDirectory)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'startDaq', 'method' : ['POST'] }, # Stop experiment daq { 'name' : 'stopDaq', 'path' : '%s/experimentsByName/:(experimentName)/stopDaq/:(dataDirectory)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'stopDaq', 'method' : ['POST'] }, # Get daq info { 'name' : 'getDaqInfo', 'path' : '%s/experimentDaqs/:(id)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getDaqInfo', 'method' : ['GET'] }, # List DAQs { 'name' : 'listDaqs', 'path' : '%s/experimentDaqsByStatus/:(status)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'listDaqs', 'method' : ['GET'] }, # Upload experiment data { 'name' : 'upload', 'path' : '%s/experimentsByName/:(experimentName)/upload/:(dataDirectory)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'upload', 'method' : ['POST'] }, # Get upload info { 'name' : 'getUploadInfo', 'path' : '%s/experimentUploads/:(id)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getUploadInfo', 'method' : ['GET'] }, # List uploads { 'name' : 'listUploads', 'path' : '%s/experimentUploadsByStatus/:(status)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'listUploads', 'method' : ['GET'] }, # Stop upload { 'name' : 'stopUpload', 'controller' : experimentSessionController, 'path' : '%s/experimentUploads/stopUpload/:(id)' % contextRoot, 'action' : 'stopUpload', 'method' : ['POST'] }, # Get processing plugins { 'name' : 'getProcessingPlugins', 'path' : '%s/processingPlugins' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getProcessingPlugins', 'method' : ['GET'] }, ] return routes