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

add gridftp plugin class

parent 02864f7f
No related branches found
No related tags found
No related merge requests found
...@@ -26,12 +26,20 @@ class FileTransferPlugin(FileProcessor): ...@@ -26,12 +26,20 @@ class FileTransferPlugin(FileProcessor):
storageHost = experiment.get('storageHost') storageHost = experiment.get('storageHost')
storageDirectory = experiment.get('storageDirectory') storageDirectory = experiment.get('storageDirectory')
dest = '%s:%s' % (storageHost, storageDirectory) destUrl = self.getDestUrl(storageHost, storageDirectory)
# Use relative path with respect to data directory as a source # Use relative path with respect to data directory as a source
os.chdir(dataDirectory) os.chdir(dataDirectory)
src = os.path.relpath(filePath, dataDirectory) srcUrl = self.getSrcUrl(filePath, dataDirectory)
self.start(src, dest) self.start(srcUrl, destUrl)
def getSrcUrl(self, filePath, dataDirectory):
srcUrl = os.path.relpath(filePath, dataDirectory)
return srcUrl
def getDestUrl(self, storageHost, storageDirectory):
destUrl = '%s:%s' % (storageHost, storageDirectory)
return destUrl
def getFullCommand(self, src, dest): def getFullCommand(self, src, dest):
return '%s %s %s' % (self.command, src, dest) return '%s %s %s' % (self.command, src, dest)
......
#!/usr/bin/env python
from fileTransferPlugin import FileTransferPlugin
class GridftpFileTransferPlugin(FileTransferPlugin):
COMMAND = 'globus-url-copy -v'
def __init__(self, src=None, dest=None):
FileTransferPlugin.__init__(self, self.COMMAND, src, dest)
def getSrcUrl(self, filePath, dataDirectory):
srcUrl = 'file://%s' % filePath
return srcUrl
def getDestUrl(self, storageHost, storageDirectory):
destUrl = 'sshftp://%s:%s' % (storageHost, storageDirectory)
return destUrl
#######################################################################
# Testing.
if __name__ == '__main__':
ft = GridftpFileTransferPlugin('/tmp/xyz', '/tmp/xyz2')
ft.start()
print 'StdOut: ', ft.getStdOut()
print 'StdErr: ', ft.getStdErr()
print 'Exit Status: ', ft.getExitStatus()
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