Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from paramiko import Transport, SFTPClient
- """
- Wrap Paramiko's SFTP functionality in an easy-to-use
- class; hide the need to initialize a transport object
- to make a connection.
- """
- class Connection(object):
- def __init__(self, server, username, password):
- self.transport = Transport(server)
- self.transport.connect(username= username, password = password)
- self.sftp_session = SFTPClient.from_transport(self.transport)
- def listdir(self, path = "."):
- return self.sftp_session.listdir(path)
- def get_file(self, remote_filename, local_filename):
- self.sftp_session.get(remote_filename, local_filename)
- return True
- def put_file(self, local_filename, remote_filename = None):
- if not remote_filename:
- remote_filename = local_filename
- self.sftp_session.put(local_filename, remote_filename)
- return True
- def chdir(self, path):
- try:
- self.sftp_session.chdir(path)
- except IOError:
- raise ValueError, "Invalid path specified"
- return True
- def close(self):
- self.sftp_session.close()
- self.transport.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement