#!/usr/bin/env python import cherrypy from dm.common.service.dmSessionController import DmSessionController from dm.common.exceptions.invalidRequest import InvalidRequest from dm.common.utility.encoder import Encoder from dm.ds_web_service.service.impl.fileSessionControllerImpl import FileSessionControllerImpl class FileSessionController(DmSessionController): def __init__(self): DmSessionController.__init__(self) self.fileSessionControllerImpl = FileSessionControllerImpl() @cherrypy.expose @DmSessionController.require(DmSessionController.isAdministrator()) @DmSessionController.execute def processFile(self, **kwargs): fileName = kwargs.get('fileName') if not fileName: raise InvalidRequest('Missing file name.') fileName = Encoder.decode(fileName) filePath = kwargs.get('filePath') if not filePath: raise InvalidRequest('Missing file path.') filePath = Encoder.decode(filePath) experimentName = kwargs.get('experimentName') if not experimentName: raise InvalidRequest('Missing experiment name.') experimentName = Encoder.decode(experimentName) response = self.fileSessionControllerImpl.processFile(fileName, filePath, experimentName).getFullJsonRep() self.logger.debug('Returning: %s' % response) return response