summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2010-07-11 10:24:37 +1200
committerLars Wirzenius <liw@liw.fi>2010-07-11 10:24:37 +1200
commit9345ad197fbb8006a340bf3fd4cb63e09fe17067 (patch)
treef7fab0fd2c3471a66a281987b73b0a28aec2679b
parent014d481d9c9b4822fe6c616c32a51c63ec6de146 (diff)
downloadobnam-9345ad197fbb8006a340bf3fd4cb63e09fe17067.tar.gz
Fix SftpFS.reinit to change directory, if possible.
-rw-r--r--obnamlib/plugins/sftp_plugin.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/obnamlib/plugins/sftp_plugin.py b/obnamlib/plugins/sftp_plugin.py
index df2c1243..1f7dceed 100644
--- a/obnamlib/plugins/sftp_plugin.py
+++ b/obnamlib/plugins/sftp_plugin.py
@@ -48,6 +48,7 @@ class SftpFS(obnamlib.VirtualFileSystem):
def __init__(self, baseurl):
obnamlib.VirtualFileSystem.__init__(self, baseurl)
+ self.sftp = None
self.reinit(baseurl)
def connect(self):
@@ -86,6 +87,7 @@ class SftpFS(obnamlib.VirtualFileSystem):
def close(self):
self.sftp.close()
self.transport.close()
+ self.sftp = None
def reinit(self, baseurl):
scheme, netloc, path, query, fragment = urlparse.urlsplit(baseurl)
@@ -112,6 +114,9 @@ class SftpFS(obnamlib.VirtualFileSystem):
self.port = port
self.user = user
self.path = path
+
+ if self.sftp:
+ self.sftp.chdir(path)
def _get_username(self):
return pwd.getpwuid(os.getuid()).pw_name