#!/usr/bin/env python import os import copy from dm.common.utility.loggingManager import LoggingManager from dm.common.processing.plugins.fileProcessor import FileProcessor from dm.ds_web_service.api.dsRestApiFactory import DsRestApiFactory class DsProcessFileNotificationPlugin(FileProcessor): def __init__(self): FileProcessor.__init__(self) self.dsFileApi = DsRestApiFactory.getFileRestApi() self.logger = LoggingManager.getInstance().getLogger(self.__class__.__name__) def processFile(self, fileInfo): experimentFilePath = fileInfo.get('experimentFilePath') experimentName = fileInfo.get('experimentName') self.logger.debug('Processing file %s for experiment %s' % (experimentFilePath, experimentName)) daqInfo = copy.deepcopy(fileInfo.get('daqInfo', {})) if daqInfo.has_key('fileDict'): del daqInfo['fileDict'] # Prepare dictionary for processing. Only send needed data. fileInfo2 = {} fileInfo2['experimentFilePath'] = experimentFilePath fileInfo2['experimentName'] = experimentName fileInfo2['daqInfo'] = daqInfo self.dsFileApi.processFile(experimentFilePath, experimentName, fileInfo2) ####################################################################### # Testing. if __name__ == '__main__': pass