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