From ee5df93249556975143aa35e564312856cf89a1f Mon Sep 17 00:00:00 2001
From: Tom Rondeau <tom@trondeau.com>
Date: Thu, 8 May 2014 21:54:52 -0400
Subject: grc: fixes bug with controlport monitors where true/false enable
 parameter is not respected.

---
 grc/python/Generator.py    | 8 ++++----
 grc/python/flow_graph.tmpl | 6 +++++-
 2 files changed, 9 insertions(+), 5 deletions(-)

(limited to 'grc/python')

diff --git a/grc/python/Generator.py b/grc/python/Generator.py
index 9bafeb0683..45958ba19b 100644
--- a/grc/python/Generator.py
+++ b/grc/python/Generator.py
@@ -35,7 +35,7 @@ class Generator(object):
         """
         Initialize the generator object.
         Determine the file to generate.
-        
+
         Args:
             flow_graph: the flow graph object
             file_path: the path to write the file to
@@ -74,7 +74,7 @@ Add a Misc->Throttle block to your flow graph to avoid CPU congestion.''')
     def get_popen(self):
         """
         Execute this python flow graph.
-        
+
         Returns:
             a popen object
         """
@@ -99,7 +99,7 @@ Add a Misc->Throttle block to your flow graph to avoid CPU congestion.''')
     def __str__(self):
         """
         Convert the flow graph to python code.
-        
+
         Returns:
             a string of python code
         """
@@ -147,7 +147,7 @@ Add a Misc->Throttle block to your flow graph to avoid CPU congestion.''')
             'flow_graph': self._flow_graph,
             'variables': variables,
             'parameters': parameters,
-                        'monitors': monitors,
+            'monitors': monitors,
             'blocks': blocks,
             'connections': connections,
             'messages': messages,
diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl
index 4cd7cc082f..30a991eeda 100644
--- a/grc/python/flow_graph.tmpl
+++ b/grc/python/flow_graph.tmpl
@@ -334,7 +334,11 @@ if __name__ == '__main__':
         tb.wait()
     qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting)
         #for $m in $monitors
-    (tb.$m.get_id()).start()
+    if $m.has_param('en'):
+        if $m.get_param('en').get_value():
+            (tb.$m.get_id()).start()
+    else:
+        sys.stderr.write("Monitor '{0}' does not have an enable ('en') parameter.".format("tb.$m.get_id()"))
         #end for
     qapp.exec_()
     tb = None #to clean up Qt widgets
-- 
cgit v1.2.3