Merge pull request #6 from katlapinka/kasiat/paramiko-copy
Add paramiko remote copy method
This commit is contained in:
commit
96a9605fe7
@ -19,6 +19,9 @@ class BaseExecutor:
|
||||
dut_to_controller):
|
||||
raise NotImplementedError()
|
||||
|
||||
def _copy(self, src, dst, dut_to_controller: bool):
|
||||
raise NotImplementedError()
|
||||
|
||||
def rsync_to(self, src, dst, delete=False, symlinks=False, checksum=False, exclude_list=[],
|
||||
timeout: timedelta = timedelta(seconds=90)):
|
||||
return self._rsync(src, dst, delete, symlinks, checksum, exclude_list, timeout, False)
|
||||
@ -27,6 +30,12 @@ class BaseExecutor:
|
||||
timeout: timedelta = timedelta(seconds=90)):
|
||||
return self._rsync(src, dst, delete, symlinks, checksum, exclude_list, timeout, True)
|
||||
|
||||
def copy_to(self, src, dst):
|
||||
return self._copy(src, dst, True)
|
||||
|
||||
def copy_from(self, src, dst):
|
||||
return self._copy(src, dst, False)
|
||||
|
||||
def is_remote(self):
|
||||
return False
|
||||
|
||||
|
@ -161,6 +161,16 @@ class SshExecutor(BaseExecutor):
|
||||
if completed_process.returncode:
|
||||
raise Exception(f"rsync failed:\n{completed_process}")
|
||||
|
||||
def _copy(self, src, dst, dut_to_controller: bool):
|
||||
sftp = self.ssh.open_sftp()
|
||||
|
||||
if dut_to_controller:
|
||||
sftp.put(src, dst)
|
||||
else:
|
||||
sftp.get(src, dst)
|
||||
|
||||
sftp.close()
|
||||
|
||||
def is_remote(self):
|
||||
return True
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user