From c1504d4d71afcd0764bfbb51578ebed556f36aec Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Tue, 21 Feb 2017 08:54:27 +0000
Subject: [PATCH] Added analysis options and analysis decorator

---
 trisurf/trisurf.py |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 deletions(-)

diff --git a/trisurf/trisurf.py b/trisurf/trisurf.py
index e386595..3a052fc 100644
--- a/trisurf/trisurf.py
+++ b/trisurf/trisurf.py
@@ -20,6 +20,9 @@
 TS_RUNNING=2 # process is running
 TS_COMPLETED=3 #simulation is completed
 
+#namespace variable. Seems the best place to put the variable in :)
+_analysis_list={}
+
 class FileContent:
 	'''
 	Class is helpful for reading and writting the specific files.
@@ -258,6 +261,35 @@
 		fields=shlex.split(lines[1])
 		epoch2=fields[0]
 		return (fields[1])
+
+	def getColumn(self,n=0):
+		lines=self.readText().splitlines()
+		col=[]
+		name=lines[0].split()[n]
+		for line in lines:
+			col.append(line.split()[n])
+		return col[2:],name
+
+	def getTable(self):
+		lines=self.readText().splitlines()
+		keys=lines[0].split()
+		table={}
+		def num(s):
+			try:
+				return int(s)
+			except ValueError:
+				return float(s)
+		for key in keys:
+			table[key]=[]
+		for line in lines:
+			fields=line.split()
+			for i in range(0,len(keys)):
+				try:
+					value=num(fields[i])
+					table[keys[i]].append(value)
+				except:
+					pass
+		return table	
 		
 
 	def readText(self):
@@ -487,13 +519,24 @@
 		self.Comment.writefile(data,mode=mode)
 
 
-	def getLastVTU(self):
+	def getLastVTUold(self):
 		vtuidx=self.getLastIteration()-int(self.Tape.getValue("inititer"))
 		if vtuidx<0:
 			return None
 		else:
 			return  'timestep_{:06d}.vtu'.format(vtuidx)
 
+	def getLastVTU(self):
+		flist=[]
+		for file in os.listdir(self.Dir.fullpath()):
+			if file.endswith(".vtu"):
+				flist.append(file)
+		flist.sort()
+		if(len(flist)==0):
+			return(-1)
+		else:		
+			return(flist[-1])
+
 	def __str__(self):
 		if(self.getStatus()==0):
 			str=" not running."

--
Gitblit v1.9.3