'-' is reserved in a character set. It has to be the last character or else it signifies a range. - Fixes issue #20
SCPCLient.get now allows fetching a single remote path to a localpath with a different name.
get: support single file/directory renames
e.g. scpclient.get('/etc/fstab', local_path='ec2-fstab') e.g. scpclient.get('/etc/zsh', local_path='ec2-zsh-dir') The above examples will only work provided local_path != cwd and local_path is not an existing directory.
support fetching multiple files and dirs in get()
fix deprecation warnings about e.message
Using e.message is deprecated since 2.6.8. Changed e.message to e everywhere and also used str(e) everywhere that the exception message was being concatenated with a string.
match every pushd with a popd in _send_recursive
fix divide-by-zero issues with progress when size == 0
Fixes a bug where files/directories may end up improperly nested on the remote machine. For example on the client machine you run the following: $ mkdir srcdir $ mkdir srcdir/another $ touch srcfile scpclient.put(['srcdir', 'srcfile'], recursive=True) Then on the remote machine the files end up like: $ find $HOME srcdir srcdir/another srcdir/another/srcfile This patch fixes the issue by calling popd for each path component of the last directory in the loop which changes the remote path back to where we started before the last directory transfer. See also jtriley/StarCluster#331
We now for quoting of paths with '~'. It doesn't adversely affect filenames contains '~', but does allow the remote shell to expand it as a user alias.
Don't use sh_quote in the scp protocol
Don't use shell quoting to fix filenames sent through scp. We do hoever need to escape \n, so replace them with the cotrol sequence alike \^J, which is the behaviour that openssh seems to use. Do this for all files and directoris sent over the wire. We do need to sh_quote all paths sent with the remote scp command. Add _sh_quote to the other scp invocation.
Escape file names
scp is executed by a shell, and needs proper escaping
update contact in copyright
Do some ugly path checking to propery change directories with scp. Add a progress callback call with 0 to start
call _recv_confirm after sending each file