Skip to content
Snippets Groups Projects
gridftpFileTransferPlugin.py 1009 B
Newer Older
sveseli's avatar
sveseli committed
#!/usr/bin/env python

from fileTransferPlugin import FileTransferPlugin
sveseli's avatar
sveseli committed
class GridftpFileTransferPlugin(FileTransferPlugin):

    COMMAND = 'globus-url-copy -c -cd -r -vb -tcp-bs 512K -p 1 -sync -sync-level 2'
sveseli's avatar
sveseli committed

    def __init__(self, src=None, dest=None, command=COMMAND):
        FileTransferPlugin.__init__(self, command, src, dest)
sveseli's avatar
sveseli committed

    def getSrcUrl(self, filePath, dataDirectory):
        if self.src is None:
            srcUrl = 'file://%s' % filePath
        else:
            srcUrl = '%s/%s' % (self.src,filePath)
sveseli's avatar
sveseli committed
        return srcUrl
    
    def getDestUrl(self, storageHost, storageDirectory):
sveseli's avatar
sveseli committed
        destUrl = 'sshftp://%s/%s/' % (storageHost, storageDirectory)
sveseli's avatar
sveseli committed
        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()