From 759169c7cead24a05533f78058c5a7ebdda319c5 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Sun, 03 Jul 2016 22:17:37 +0000 Subject: [PATCH] Tried to made all functionality for clustering. Not debugged and will probably fail miserably --- python/trisurf/tsmgr.py | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 41 insertions(+), 9 deletions(-) diff --git a/python/trisurf/tsmgr.py b/python/trisurf/tsmgr.py index e376805..fa7d20f 100644 --- a/python/trisurf/tsmgr.py +++ b/python/trisurf/tsmgr.py @@ -1,17 +1,45 @@ import sys, getopt import tabulate +import subprocess,re +import psutil + +def printHelp(): + print('Python module tsmgr accept following switches:\n') + print('tsmgr [-n process number] [-R] [-h] [-r] [-s] [-c comment text] [-a comment text]\n') + print('[-n process number]: number of process for which -s -r -c or -a switch apply. Should be placed before any other switch'); + print('[-R] : raw output for -s switch'); + print('[-r] : run process'); + print('[-s] : process status'); + print('[-k] : kill process'); + print('[-c comment text] : write new comment for process'); + print('[-a comment text] : append additional comment for process'); + print('[-h] : print help'); + + +def getTrisurfVersion(): + p = subprocess.Popen('trisurf --version', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + lines=p.stdout.readlines() + version=re.findall(r'[0-9a-f]{7}(?:-dirty)?', lines[0].decode('ascii')) + p.wait() + if(len(version)): + return version[0] + else: + return "unknown version" def start(Runs): argv=sys.argv[1:] processno=0 + raw=False try: - opts, args = getopt.getopt(argv,"a:n:hrsc:") + opts, args = getopt.getopt(argv,"Ra:n:hrskc:") except getopt.GetoptError: - print('tsmgr [-n process number] [-h] [-r] [-s] [-c comment text] [-a comment text]') + printHelp() sys.exit(2) for opt, arg in opts: - if opt == '-h': - print ('tsmgr [-n process number] [-h] [-r] [-s] [-c comment text] [-a comment text]') + if opt == '-R': + raw=True + elif opt == '-h': + printHelp() sys.exit() elif opt == '-r': if processno: @@ -32,9 +60,11 @@ line.insert(0,i) report.append(line) i=i+1 - #print(reportstr) - print ("\n\nTrisurf running processes report\n") - print (tabulate.tabulate(report,headers=["Run no.", "Run start time", "ETA", "Status", "PID", "Path", "Comment"], tablefmt='fancy_grid')) + if(raw): + print(report) + else: + print ("\n\nTrisurf running processes report\n") + print (tabulate.tabulate(report,headers=["Run no.", "Run start time", "ETA", "Status", "PID", "Path", "Comment"], tablefmt='fancy_grid')) elif opt == '-n': processno=int(arg) if processno<1 or processno>len(Runs) : @@ -48,9 +78,11 @@ if processno: Runs[processno-1].writeComment("\n"+arg, 'a') - + elif opt == '-k': + if processno: + Runs[processno-1].stop() else: - print('tsmgr [-n process number] [-h] [-r] [-s] [-c comment text] [-a comment text]') + printHelp() sys.exit(2) -- Gitblit v1.9.3