The path interpolation done in sftp.py on line 118 causes the get() call to break if the filename contains the format string operator (%).
Fatal error: get() encountered an exception while downloading '/tmp/interpolation_test'
Traceback (most recent call last):
File "...fabric/operations.py", line 552, in get
result = ftp.get_dir(remote_path, local_path)
File "...fabric/sftp.py", line 190, in get_dir
result.append(self.get(rpath, lpath, True, rremote))
File "...fabric/sftp.py", line 118, in get
local_path = os.path.abspath(local_path % path_vars)
TypeError: float argument required, not dict
The path interpolation done in sftp.py on line 118 causes the get() call to break if the filename contains the format string operator (%).
Here's an easy way to reproduce the issue:
Raises this: