From d2ea708a0d8c793f39d07308488bb2b81963a082 Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Fri, 5 Feb 2016 16:38:43 +0000
Subject: [PATCH] introduce template replacements for transfers

---
 src/python/dm/common/processing/plugins/fileProcessor.py     | 5 +++++
 .../common/processing/plugins/gridftpFileTransferPlugin.py   | 2 ++
 .../dm/common/processing/plugins/rsyncFileTransferPlugin.py  | 2 ++
 3 files changed, 9 insertions(+)

diff --git a/src/python/dm/common/processing/plugins/fileProcessor.py b/src/python/dm/common/processing/plugins/fileProcessor.py
index c13fceda..e1ff4ba5 100755
--- a/src/python/dm/common/processing/plugins/fileProcessor.py
+++ b/src/python/dm/common/processing/plugins/fileProcessor.py
@@ -12,6 +12,11 @@ class FileProcessor:
     @abc.abstractmethod
     def processFile(self, fileInfo):
         return NotImplemented
+
+    def replaceTemplates(self, inputString, fileInfo):
+        experimentName = fileInfo.get('experimentName', ''):
+        outputString = inputString.replace('EXPERIMENT_NAME', experimentName)
+        return outputString
     
     def checkUploadFilesForProcessing(self, filePathsDict, uploadInfo):
         return {}
diff --git a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py
index bd3d02a1..929dc77b 100755
--- a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py
+++ b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py
@@ -97,6 +97,8 @@ class GridftpFileTransferPlugin(FileTransferPlugin):
             ftpUtility.getMd5Sum(filePath, fileInfo)
 
         # Transfer file
+        srcUrl = self.replaceTemplates(srcUrl, fileInfo)
+        destUrl = self.replaceTemplates(destUrl, fileInfo)
         self.logger.debug('Starting transfer: %s' % fileInfo)
         self.start(srcUrl, destUrl)
 
diff --git a/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py b/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
index a2b58db9..38ec8ec1 100755
--- a/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
+++ b/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
@@ -60,6 +60,8 @@ class RsyncFileTransferPlugin(FileTransferPlugin):
             FileUtility.getMd5Sum(filePath, fileInfo)
 
         # Transfer file
+        srcUrl = self.replaceTemplates(srcUrl, fileInfo)
+        destUrl = self.replaceTemplates(destUrl, fileInfo)
         self.logger.debug('Starting transfer: %s' % fileInfo)
         self.start(srcUrl, destUrl)
 
-- 
GitLab