Depends on D760.
Implements a working SFTP solid (ported from Airflow)
I think we would be well served by aligning our API with the underlying paramiko API
update this log message for non-Airflow
I think we should remove these log prefixes
what if the remote is windows?
I think this is an error in the Airflow codebase -- on python 2.7 I believe paramiko will raise IOError here
totally agree, I think the Airflow version was trying to be too cute on top of the underlying APIs. if you don't mind, I'll take that on in a follow-up? I'd like to do that for both this client and the tunnel client which'll be a bigger change
ha fair, I've uncuted it
hmmm is SFTP on windows a thing? also does SFTP just do the right thing for '/' even on a windows server?
exceptions as control flow! added a comment
Yeah looks like you're right, but actually seems like all versions raise IOError: http://docs.paramiko.org/en/2.6/api/sftp.html#paramiko.sftp_client.SFTPClient.chdir
ok, can we track in an issue?
looking around, it seems to be sftp-server specific. honestly, all of this _make_intermediate_dirs machinery seems like a step too far -- it's not natural to SFTP
on python 3, IOError is an OSError