diff options
author | Christopher Baines <mail@cbaines.net> | 2016-02-07 21:19:28 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2016-02-07 21:19:28 +0000 |
commit | 31b2fd0709f259961253b9cdc875ce7827abaa68 (patch) | |
tree | 863b7f1fe851d7183419916248591537a4b8b6c5 /paramiko/sftp_client.py | |
parent | bf855e6da326dba0c46f005eedc9f390c6c3b206 (diff) | |
download | python-paramiko-31b2fd0709f259961253b9cdc875ce7827abaa68.tar python-paramiko-31b2fd0709f259961253b9cdc875ce7827abaa68.tar.gz |
Imported Upstream version 1.16.0upstream/1.16.0upstream
Diffstat (limited to 'paramiko/sftp_client.py')
-rw-r--r-- | paramiko/sftp_client.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/paramiko/sftp_client.py b/paramiko/sftp_client.py index 89840ea..5722555 100644 --- a/paramiko/sftp_client.py +++ b/paramiko/sftp_client.py @@ -589,6 +589,7 @@ class SFTPClient(BaseSFTP, ClosingContextManager): .. versionadded:: 1.4 """ + # TODO: make class initialize with self._cwd set to self.normalize('.') return self._cwd and u(self._cwd) def putfo(self, fl, remotepath, file_size=0, callback=None, confirm=True): @@ -599,7 +600,7 @@ class SFTPClient(BaseSFTP, ClosingContextManager): The SFTP operations use pipelining for speed. - :param file fl: opened file or file-like object to copy + :param fl: opened file or file-like object to copy :param str remotepath: the destination path on the SFTP server :param int file_size: optional size parameter passed to callback. If none is specified, @@ -685,9 +686,10 @@ class SFTPClient(BaseSFTP, ClosingContextManager): .. versionadded:: 1.10 """ + file_size = self.stat(remotepath).st_size with self.open(remotepath, 'rb') as fr: - file_size = self.stat(remotepath).st_size - fr.prefetch() + fr.prefetch(file_size) + size = 0 while True: data = fr.read(32768) @@ -715,7 +717,6 @@ class SFTPClient(BaseSFTP, ClosingContextManager): .. versionchanged:: 1.7.4 Added the ``callback`` param """ - file_size = self.stat(remotepath).st_size with open(localpath, 'wb') as fl: size = self.getfo(remotepath, fl, callback) s = os.stat(localpath) |