diff --git a/src/python/dm/__init__.py b/src/python/dm/__init__.py index 5010cdf402a47e35582a0eaed250b96bc38f99ad..85013a64cb1a1c6ceb6fb6577265fd28815090dc 100644 --- a/src/python/dm/__init__.py +++ b/src/python/dm/__init__.py @@ -1 +1 @@ -__version__ = "0.6 (2015.11.06)" +__version__ = "0.6 (2015.11.09)" diff --git a/src/python/dm/common/processing/plugins/fileTransferPlugin.py b/src/python/dm/common/processing/plugins/fileTransferPlugin.py index 0c23098327e96cc080e72cf53657eef0910f0a1e..6c3d928cc9aed6952c450824b91aed239e277f1f 100755 --- a/src/python/dm/common/processing/plugins/fileTransferPlugin.py +++ b/src/python/dm/common/processing/plugins/fileTransferPlugin.py @@ -26,7 +26,7 @@ class FileTransferPlugin(FileProcessor): storageHost = experiment.get('storageHost') storageDirectory = experiment.get('storageDirectory') - destUrl = self.getDestUrl(storageHost, storageDirectory) + destUrl = self.getDestUrl(filePath, dataDirectory, storageHost, storageDirectory) srcUrl = self.getSrcUrl(filePath, dataDirectory) self.start(srcUrl, destUrl) @@ -36,7 +36,7 @@ class FileTransferPlugin(FileProcessor): srcUrl = os.path.relpath(filePath, dataDirectory) return srcUrl - def getDestUrl(self, storageHost, storageDirectory): + def getDestUrl(self, filePath, dataDirectory, storageHost, storageDirectory): destUrl = '%s:%s' % (storageHost, storageDirectory) return destUrl diff --git a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py index 6999ccdfd114a7cfe4bb5318491b5af3c9ed5823..cfb3b5f49dacca4d2826ce4505fabe7e122c19f4 100755 --- a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py +++ b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import os from fileTransferPlugin import FileTransferPlugin class GridftpFileTransferPlugin(FileTransferPlugin): @@ -16,8 +17,10 @@ class GridftpFileTransferPlugin(FileTransferPlugin): srcUrl = '%s/%s' % (self.src,filePath) return srcUrl - def getDestUrl(self, storageHost, storageDirectory): - destUrl = 'sshftp://%s/%s/' % (storageHost, storageDirectory) + def getDestUrl(self, filePath, dataDirectory, storageHost, storageDirectory): + dirName = os.path.dirname(os.path.relpath(filePath, dataDirectory)).strip() + fileName = os.path.basename(filePath) + destUrl = 'sshftp://%s/%s/%s/%s' % (storageHost, storageDirectory, dirName, fileName) return destUrl ####################################################################### diff --git a/src/python/dm/daq_web_service/service/impl/rsyncWithChecksumAndDeleteFileTransferPlugin.py b/src/python/dm/daq_web_service/service/impl/rsyncWithChecksumAndDeleteFileTransferPlugin.py index 2db93d4a527a9fe8d577caa6ae5cdf6cd4cff372..f397d56652dde41830f6b58ba202dd037010fe59 100755 --- a/src/python/dm/daq_web_service/service/impl/rsyncWithChecksumAndDeleteFileTransferPlugin.py +++ b/src/python/dm/daq_web_service/service/impl/rsyncWithChecksumAndDeleteFileTransferPlugin.py @@ -25,7 +25,7 @@ class RsyncWithChecksumAndDeleteFileTransferPlugin(FileTransferPlugin): experimentFilePath = fileInfo.get('experimentFilePath') storageHost = experiment.get('storageHost') storageDirectory = experiment.get('storageDirectory') - destUrl = self.getDestUrl(storageHost, storageDirectory) + destUrl = self.getDestUrl(filePath, dataDirectory, storageHost, storageDirectory) # Use relative path with respect to data directory as a source os.chdir(dataDirectory) srcUrl = self.getSrcUrl(filePath, dataDirectory)