Skip to content
Snippets Groups Projects
Commit eb9ea224 authored by sveseli's avatar sveseli
Browse files

fixes for base transfer plugin when configured destination directory is local

parent ea3efee0
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@
import os
from dm.common.utility.loggingManager import LoggingManager
from dm.common.utility.dmSubprocess import DmSubprocess
from dm.common.utility.osUtility import OsUtility
from dm.common.exceptions.invalidArgument import InvalidArgument
from dm.common.exceptions.invalidRequest import InvalidRequest
from fileProcessor import FileProcessor
......@@ -39,7 +40,10 @@ class FileTransferPlugin(FileProcessor):
return srcUrl
def getDestUrl(self, filePath, dataDirectory, storageHost, storageDirectory):
destUrl = '%s:%s' % (storageHost, storageDirectory)
if self.dest:
destUrl = '%s' % (self.dest)
else:
destUrl = '%s:%s' % (storageHost, storageDirectory)
return destUrl
def getFullCommand(self, src, dest):
......@@ -60,6 +64,14 @@ class FileTransferPlugin(FileProcessor):
if dest is None:
fileDest = self.dest
# If destination is local, attempt to create it
if self.dest is not None and self.dest.find(':') < 0:
destDir = self.replaceTemplates(self.dest, fileInfo)
try:
OsUtility.createDir(destDir)
except Exception, ex:
self.logger.warn('Transfer may fail due to failure to create destination directory %s: %s' % (destDir, str(ex)))
fileSrc = self.replaceTemplates(fileSrc, fileInfo)
fileDest = self.replaceTemplates(fileDest, fileInfo)
if not fileSrc or not fileDest:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment