From a1f895d89172d63cde8e31c797c6613e05ec8b94 Mon Sep 17 00:00:00 2001 From: Sinisa Veseli <sveseli@aps.anl.gov> Date: Wed, 2 Dec 2015 17:19:43 +0000 Subject: [PATCH] plugin modifications needed to support new daq and upload tracking framework --- .../service/impl/mongoDbFileCatalogPlugin.py | 19 ++++++++++++------- .../service/impl/scriptProcessingPlugin.py | 7 +++---- .../impl/sddsParameterProcessingPlugin.py | 7 +++---- .../service/impl/sgeJobSubmissionPlugin.py | 7 +++---- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/python/dm/ds_web_service/service/impl/mongoDbFileCatalogPlugin.py b/src/python/dm/ds_web_service/service/impl/mongoDbFileCatalogPlugin.py index 11ea3be2..5796944a 100755 --- a/src/python/dm/ds_web_service/service/impl/mongoDbFileCatalogPlugin.py +++ b/src/python/dm/ds_web_service/service/impl/mongoDbFileCatalogPlugin.py @@ -16,13 +16,13 @@ class MongoDbFileCatalogPlugin(FileProcessor): def processFile(self, fileInfo): experimentFilePath = fileInfo.get('experimentFilePath') - experiment = fileInfo.get('experiment') - experimentName = experiment.get('name') + experimentName = fileInfo.get('experimentName') self.logger.debug('Processing file %s for experiment %s' % (fileInfo, experimentName)) - experimentStorageDirectory = experiment.get('storageDirectory') - storageHost = experiment.get('storageHost') - storageFilePath = os.path.join(experimentStorageDirectory, experimentFilePath) + daqInfo = fileInfo.get('daqInfo') + storageDirectory = daqInfo.get('storageDirectory') + storageHost = daqInfo.get('storageHost') + storageFilePath = os.path.join(storageDirectory, experimentFilePath) fileProcessingTime = time.time() fileProcessingTimeStamp = TimeUtility.formatLocalTimeStamp(fileProcessingTime) @@ -32,14 +32,19 @@ class MongoDbFileCatalogPlugin(FileProcessor): if fileInfo.has_key(key): fileInfo2[key] = fileInfo.get(key, '') fileInfo2['fileName'] = os.path.basename(experimentFilePath) - fileInfo2['experimentStorageDirectory'] = experimentStorageDirectory + fileInfo2['storageDirectory'] = storageDirectory fileInfo2['storageHost'] = storageHost fileInfo2['storageFilePath'] = storageFilePath fileInfo2['experimentFilePath'] = experimentFilePath fileInfo2['experimentName'] = experimentName fileInfo2['fileProcessingTime'] = fileProcessingTime fileInfo2['fileProcessingTimeStamp'] = fileProcessingTimeStamp - fileInfo2.update(fileInfo.get('daqInfo', {})) + self.logger.debug('Daq info: %s' % (daqInfo)) + fileInfo2.update(daqInfo) + if daqInfo.has_key('id'): + fileInfo2['daqId'] = daqInfo.get('id') + del fileInfo2['id'] + self.fileMongoDbApi.updateOrAddExperimentFile(fileInfo2) diff --git a/src/python/dm/ds_web_service/service/impl/scriptProcessingPlugin.py b/src/python/dm/ds_web_service/service/impl/scriptProcessingPlugin.py index 75be4c78..c892f6dd 100755 --- a/src/python/dm/ds_web_service/service/impl/scriptProcessingPlugin.py +++ b/src/python/dm/ds_web_service/service/impl/scriptProcessingPlugin.py @@ -18,8 +18,7 @@ class ScriptProcessingPlugin(FileProcessor): self.logger = LoggingManager.getInstance().getLogger(self.__class__.__name__) def processFile(self, fileInfo): - experiment = fileInfo.get('experiment') - experimentName = experiment.get('name') + experimentName = fileInfo.get('experimentName') experimentFilePath = fileInfo.get('experimentFilePath') daqInfo = fileInfo.get('daqInfo', {}) processingScript = daqInfo.get(self.PROCESSING_SCRIPT_KEY) @@ -29,8 +28,8 @@ class ScriptProcessingPlugin(FileProcessor): self.logger.debug('Processing file %s for experiment %s' % (experimentFilePath, experimentName)) - experimentStorageDirectory = experiment.get('storageDirectory') - storageFilePath = os.path.join(experimentStorageDirectory, experimentFilePath) + storageDirectory = fileInfo.get('storageDirectory') + storageFilePath = os.path.join(storageDirectory, experimentFilePath) # Process file try: diff --git a/src/python/dm/ds_web_service/service/impl/sddsParameterProcessingPlugin.py b/src/python/dm/ds_web_service/service/impl/sddsParameterProcessingPlugin.py index ed2f8f35..54c99808 100755 --- a/src/python/dm/ds_web_service/service/impl/sddsParameterProcessingPlugin.py +++ b/src/python/dm/ds_web_service/service/impl/sddsParameterProcessingPlugin.py @@ -19,8 +19,7 @@ class SddsParameterProcessingPlugin(FileProcessor): def processFile(self, fileInfo): experimentFilePath = fileInfo.get('experimentFilePath') - experiment = fileInfo.get('experiment') - experimentName = experiment.get('name') + experimentName = fileInfo.get('experimentName') daqInfo = fileInfo.get('daqInfo', {}) processSddsParameters = daqInfo.get(self.PROCESS_SDDS_PARAMETERS_KEY) if not processSddsParameters: @@ -29,8 +28,8 @@ class SddsParameterProcessingPlugin(FileProcessor): self.logger.debug('Processing file %s for experiment %s' % (fileInfo, experimentName)) - experimentStorageDirectory = experiment.get('storageDirectory') - storageFilePath = os.path.join(experimentStorageDirectory, experimentFilePath) + storageDirectory = fileInfo.get('storageDirectory') + storageFilePath = os.path.join(storageDirectory, experimentFilePath) # Load file try: diff --git a/src/python/dm/ds_web_service/service/impl/sgeJobSubmissionPlugin.py b/src/python/dm/ds_web_service/service/impl/sgeJobSubmissionPlugin.py index 42ccb7ec..a63e7134 100755 --- a/src/python/dm/ds_web_service/service/impl/sgeJobSubmissionPlugin.py +++ b/src/python/dm/ds_web_service/service/impl/sgeJobSubmissionPlugin.py @@ -17,8 +17,7 @@ class SgeJobSubmissionPlugin(FileProcessor): self.logger = LoggingManager.getInstance().getLogger(self.__class__.__name__) def processFile(self, fileInfo): - experiment = fileInfo.get('experiment') - experimentName = experiment.get('name') + experimentName = fileInfo.get('experimentName') experimentFilePath = fileInfo.get('experimentFilePath') daqInfo = fileInfo.get('daqInfo', {}) sgeJobScript = daqInfo.get(self.SGE_JOB_SCRIPT_KEY) @@ -28,8 +27,8 @@ class SgeJobSubmissionPlugin(FileProcessor): self.logger.debug('Processing file %s for experiment %s' % (experimentFilePath, experimentName)) - experimentStorageDirectory = experiment.get('storageDirectory') - storageFilePath = os.path.join(experimentStorageDirectory, experimentFilePath) + storageDirectory = fileInfo.get('storageDirectory') + storageFilePath = os.path.join(storageDirectory, experimentFilePath) # Process file try: -- GitLab