From 52e871dbc7bf5b61003718cd3342b5ce5d882c6a Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Fri, 20 Jan 2017 20:47:09 +0000 Subject: [PATCH] Fix in trisurf.py in getLastVTU not returning the result if directory does not exist or is empty. --- trisurf/Remote.py | 55 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 37 insertions(+), 18 deletions(-) diff --git a/trisurf/Remote.py b/trisurf/Remote.py index 89a00bd..2bf80f1 100644 --- a/trisurf/Remote.py +++ b/trisurf/Remote.py @@ -1,5 +1,5 @@ import paramiko - +import os.path class Connection: def __init__(self, hostname, port=22, username=None, password=None): @@ -20,23 +20,20 @@ def connect(self, Timeout=5): if(not self.connected): - try: - print("Trying to connect to: "+self.username+"@"+self.hostname+":"+str(self.port)+".") - self.ssh.connect(self.hostname, username=self.username, password=self.password, port=self.port, timeout=Timeout) - self.connected=True - except: - print("Error establishing connection with "+self.username+"@"+self.hostname+":"+str(self.port)+".") - exit(1) +# try: + print("Trying to connect to: "+self.username+"@"+self.hostname+":"+str(self.port)+".") + self.ssh.connect(self.hostname, username=self.username, password=self.password, port=self.port, timeout=Timeout) + self.connected=True +# except: +# print("Error establishing connection with "+self.username+"@"+self.hostname+":"+str(self.port)+".") +# exit(1) else: print("Already connected!") return def disconnect(self): if(self.connected): - try: - self.ssh.close() - except: - print("Cannot disconect. Unknown error.") + self.ssh.close() else: print("Cannot disconect. Already disconnected.") self.connected=False @@ -55,18 +52,40 @@ print("Cannot execute remote commands. Connect first.") def send_file(self, local, remote): - sftp=self.ssh.open_sftp() - sftp.put(local,remote) - sftp.close() + pass +# sftp=self.ssh.open_sftp() +# sftp.put(local,remote) +# sftp.close() def receive_file(self,remote,local): - sftp=self.ssh.open_sftp() - sftp.get(remote,local) - sftp.close() + pass +# sftp=self.ssh.open_sftp() +# sftp.get(remote,local) +# sftp.close() def mkdir_remote(self,directory): sftp=self.ssh.open_sftp() sftp.mkdir(directory) sftp.close() + def mkdir_p(self,sftp, remote_directory): + """Change to this directory, recursively making new folders if needed. + Returns True if any folders were created. Recursive algorithm.""" + if remote_directory == '/': + # absolute path so change directory to root + sftp.chdir('/') + return + if remote_directory == '': + # top-level relative directory must exist + return + try: + sftp.chdir(remote_directory) # sub-directory exists + except IOError: + dirname, basename = os.path.split(remote_directory.rstrip('/')) + self.mkdir_p(sftp, dirname) # make parent directories + sftp.mkdir(basename) # sub-directory missing, so created it + sftp.chdir(basename) + return True + def send_multiple_files_in_directory(self,local_files,directory): + pass -- Gitblit v1.9.3