Lines 135-140
Link Here
|
135 |
conn.login(username) |
135 |
conn.login(username) |
136 |
conn.set_pasv(passive) |
136 |
conn.set_pasv(passive) |
137 |
conn.set_debuglevel(0) |
137 |
conn.set_debuglevel(0) |
|
|
138 |
elif protocol == "sftp": |
139 |
try: |
140 |
import paramiko |
141 |
except ImportError: |
142 |
raise NotImplementedError( |
143 |
"paramiko must be installed for sftp support") |
144 |
t = paramiko.Transport(host) |
145 |
t.connect(username=username, password=password) |
146 |
conn = paramiko.SFTPClient.from_transport(t) |
138 |
else: |
147 |
else: |
139 |
raise NotImplementedError, "%s is not a supported protocol." % protocol |
148 |
raise NotImplementedError, "%s is not a supported protocol." % protocol |
140 |
|
149 |
|
Lines 301-306
Link Here
|
301 |
del olddir |
310 |
del olddir |
302 |
else: |
311 |
else: |
303 |
listing = conn.nlst(address) |
312 |
listing = conn.nlst(address) |
|
|
313 |
elif protocol == "sftp": |
314 |
listing = conn.listdir(address) |
304 |
else: |
315 |
else: |
305 |
raise TypeError, "Unknown protocol. '%s'" % protocol |
316 |
raise TypeError, "Unknown protocol. '%s'" % protocol |
306 |
|
317 |
|
Lines 326-331
Link Here
|
326 |
data,rc,msg = make_http_request(conn, address, params, headers) |
337 |
data,rc,msg = make_http_request(conn, address, params, headers) |
327 |
elif protocol in ["ftp"]: |
338 |
elif protocol in ["ftp"]: |
328 |
data,rc,msg = make_ftp_request(conn, address, -chunk_size) |
339 |
data,rc,msg = make_ftp_request(conn, address, -chunk_size) |
|
|
340 |
elif protocol == "sftp": |
341 |
f = conn.open(address) |
342 |
try: |
343 |
f.seek(-chunk_size, 2) |
344 |
data = f.read() |
345 |
finally: |
346 |
f.close() |
329 |
else: |
347 |
else: |
330 |
raise TypeError, "Unknown protocol. '%s'" % protocol |
348 |
raise TypeError, "Unknown protocol. '%s'" % protocol |
331 |
|
349 |
|
Lines 403-408
Link Here
|
403 |
data,rc,msg = make_http_request(conn, address, params, headers, dest=dest) |
421 |
data,rc,msg = make_http_request(conn, address, params, headers, dest=dest) |
404 |
elif protocol in ["ftp"]: |
422 |
elif protocol in ["ftp"]: |
405 |
data,rc,msg = make_ftp_request(conn, address, dest=dest) |
423 |
data,rc,msg = make_ftp_request(conn, address, dest=dest) |
|
|
424 |
elif protocol == "sftp": |
425 |
conn.get(address, dest) |
406 |
else: |
426 |
else: |
407 |
raise TypeError, "Unknown protocol. '%s'" % protocol |
427 |
raise TypeError, "Unknown protocol. '%s'" % protocol |
408 |
|
428 |
|