From a2f05726379d1440f8709eb9b81913e1ca72f771 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Sun, 06 May 2018 16:33:53 +0000
Subject: [PATCH] Added some extra field into wrappers

---
 trisurf/analyses.py |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/trisurf/analyses.py b/trisurf/analyses.py
index 7b061f2..1569eb9 100644
--- a/trisurf/analyses.py
+++ b/trisurf/analyses.py
@@ -1,6 +1,22 @@
 from . import trisurf
 
 
+def analysis(*args):
+	"""Decorator for adding the analysis functions to function lists"""
+	def analysis_decorator(analysis_function):
+		trisurf._analysis_list[analysis_name]=analysis_function
+		def wrapper(*args, **kwargs):
+			analysis_function(*args,**kwargs)
+		return wrapper
+	if len(args) == 1 and callable(args[0]): #no arguments
+		analysis_name=args[0].__name__
+		return analysis_decorator(args[0])
+	else:
+		analysis_name=args[0]
+		return analysis_decorator
+
+
+@analysis
 def demo(run, **kwargs):
 	host=kwargs.get('host', None)
 	print("Demo analysis")
@@ -14,12 +30,13 @@
 
 
 # can be wrapped to specify scalar_field)
+@analysis('plotrunningavginteractive')
 def plotrunningavginteractive(run, scalar_field='vertices_idx', **kwargs):
 	import matplotlib.pyplot as plt
 	from trisurf import VTKRendering as vtk
 	import math
 	from multiprocessing import Process
-	table=trisurf.Statistics(run.Dir.fullpath(),filename='data_tspoststat.csv').getTable()
+	table=trisurf.Statistics(run.Dir.fullpath(),filename='poststat.csv').getTable()
 	def running_avg(col):
 		import numpy as np
 		avg=[]	
@@ -48,8 +65,8 @@
 # -------------------------------
 # these functions should be wrapped
 # -------------------------------
-
-def plotColumnFromPostProcess(run, filename='data_tspoststat.csv', column='hbar', **kwargs):
+@analysis('plotColumnFromPostProcess')
+def plotColumnFromPostProcess(run, filename='poststat.csv', column='hbar', **kwargs):
 	import matplotlib.pyplot as plt
 
 	def smooth(y, box_pts):

--
Gitblit v1.9.3