Skip to content
Snippets Groups Projects
Forked from DM / dm-docs
261 commits behind, 832 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
rsyncFileTransfer.py 985 B
#!/usr/bin/env python

from dm.common.utility.dmSubprocess import DmSubprocess

class RsyncFileTransfer:

    COMMAND = 'rsync'

    def __init__(self, src, dest, flags='-arvlP'):
        self.src = src
        self.dest = dest
        self.flags = flags
        self.command = '%s %s %s %s' % (self.COMMAND, self.flags, self.src, self.dest)
        self.subprocess = DmSubprocess.getSubprocess(self.command)

    def execute(self):
        return self.subprocess.run()

    def getStdOut(self):
        return self.subprocess.getStdOut()

    def getStdErr(self):
        return self.subprocess.getStdErr()

    def getExitStatus(self):
        return self.subprocess.getExitStatus()

#######################################################################
# Testing.
if __name__ == '__main__':
    ft = RsyncFileTransfer('/tmp/abc', '/tmp/abc2')
    ft.execute()
    print 'StdOut: ', ft.getStdOut()
    print 'StdErr: ', ft.getStdErr()
    print 'Exit Status: ', ft.getExitStatus()