#!/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()