#!/usr/bin/env python # # Implementation for experiment session controller. # import time from dm.common.objects.experiment import Experiment from dm.common.objects.dmObjectManager import DmObjectManager from dm.common.exceptions.invalidRequest import InvalidRequest from dm.common.db.api.experimentDbApi import ExperimentDbApi from dm.ds_web_service.service.impl.storageManager import StorageManager class ExperimentSessionControllerImpl(DmObjectManager): """ Experiment session controller implementation class. """ def __init__(self): DmObjectManager.__init__(self) self.experimentDbApi = ExperimentDbApi() def getExperimentTypes(self): experimentTypeList = self.experimentDbApi.getExperimentTypes() return experimentTypeList def getExperiments(self): experimentList = self.experimentDbApi.getExperiments() return experimentList def getExperimentByName(self, name): experiment = self.experimentDbApi.getExperimentByName(name) return experiment def getExperimentById(self, id): experiment = self.experimentDbApi.getExperimentById(id) return experiment def addExperiment(self, name, experimentTypeId, description): experiment = self.experimentDbApi.addExperiment(name, experimentTypeId, description) return experiment def startExperiment(self, name): experiment = self.experimentDbApi.setExperimentStartDateToNow(name) StorageManager.getInstance().createExperimentDataDirectory(experiment) return experiment def stopExperiment(self, name): experiment = self.experimentDbApi.setExperimentEndDateToNow(name) return experiment