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/trisurf.py | 7 ++- trisurf/Remote.py | 44 ++++++++------------- trisurf/tsmgr.py | 22 +++++++--- 3 files changed, 37 insertions(+), 36 deletions(-) diff --git a/trisurf/Remote.py b/trisurf/Remote.py index 977b96a..2bf80f1 100644 --- a/trisurf/Remote.py +++ b/trisurf/Remote.py @@ -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,14 +52,16 @@ 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() @@ -89,13 +88,4 @@ return True def send_multiple_files_in_directory(self,local_files,directory): - sftp=self.ssh.open_sftp() -# try: -# sftp.chdir(directory) # Test if remote_path exists -# except (IOError,FileNotFoundError): -# sftp.mkdir(directory) # Create remote_path -# sftp.chdir(directory) - self.mkdir_p(sftp, directory) - for f in set(local_files): - sftp.put(f, f) - sftp.close() + pass diff --git a/trisurf/trisurf.py b/trisurf/trisurf.py index a709d8a..9245fb3 100644 --- a/trisurf/trisurf.py +++ b/trisurf/trisurf.py @@ -528,8 +528,11 @@ for file in os.listdir(self.Dir.fullpath()): if file.endswith(".vtu"): flist.append(file) - flist.sort() - return(flist[-1]) + flist.sort() + if(len(flist)==0): + return -1 + else: + return(flist[-1]) def __str__(self): if(self.getStatus()==0): diff --git a/trisurf/tsmgr.py b/trisurf/tsmgr.py index 101c84c..0beaf73 100644 --- a/trisurf/tsmgr.py +++ b/trisurf/tsmgr.py @@ -18,7 +18,7 @@ #import io -from IPython import embed +#from IPython import embed import __main__ as main @@ -94,8 +94,12 @@ port=host['port'] except: port=22 #default ssh port - rm=Remote.Connection(hostname=host['address'],username=username, port=port) - rm.connect() + try: + rm=Remote.Connection(hostname=host['address'],username=username, port=port) + rm.connect() + except: + host['_conn']=None + continue # print ("Sendind file:"+main.__file__) if('remotebasepath' in host): remote_dir=host['remotebasepath'] @@ -131,6 +135,7 @@ def status_processes(args,host): + print("in status processes") target_runs=getTargetRunIdxList(args) if target_runs==None: target_runs=list(range(1,len(host['runs'])+1)) @@ -314,16 +319,19 @@ #print(remote_dir) #print(main.__file__) #print('python3 '+main.__file__+' -x '+" ".join(argv)) - output=host['_conn'].execute('cd '+remote_dir+ '; python3 '+main.__file__+' -x --originating-host ' +socket.gethostname()+" "+" ".join(argv)) - for line in output: - print(line.replace('\n','')) + if(host['_conn']!=None): +# print("was here, "+'cd '+remote_dir+ '; python3 '+main.__file__+' -x --originating-host ' +socket.gethostname()+" "+" ".join(argv)) + output=host['_conn'].execute('cd '+remote_dir+ '; python3 '+main.__file__+' -x --originating-host ' +socket.gethostname()+" "+" ".join(argv)) + for line in output: + print(line.replace('\n','')) if not args['local_only']: print("Closing connections to remote hosts") for host in hosts: if(host['name'] !=socket.gethostname()): - host['_conn'].disconnect() + if(host['_conn']): + host['_conn'].disconnect() -- Gitblit v1.9.3