Merge branch 'flattopwindow' of http://gnuradio.org/git/jblum
[debian/gnuradio] / grc / python / Generator.py
index cde7dc3d448a7692fe540fa099f5fbf69958a11b..ed7995716f1ecde6e25c5b433703f8708216c5ca 100644 (file)
@@ -90,9 +90,16 @@ Add a Misc->Throttle block to your flow graph to avoid CPU congestion.''')
                #list of blocks not including variables and imports and parameters and disabled
                blocks = sorted(self._flow_graph.get_enabled_blocks(), lambda x, y: cmp(x.get_id(), y.get_id()))
                probes = filter(lambda b: b.get_key().startswith('probe_'), blocks) #ensure probes are last in the block list
-               blocks = filter(lambda b: b not in (imports + parameters + variables + probes), blocks) + probes
+               #get a list of notebooks and sort them according dependencies
+               notebooks = expr_utils.sort_objects(
+                       filter(lambda b: b.get_key() == 'notebook', blocks),
+                       lambda n: n.get_id(), lambda n: n.get_param('notebook').get_value(),
+               )
+               #list of regular blocks (all blocks minus the special ones)
+               blocks = filter(lambda b: b not in (imports + parameters + variables + probes + notebooks), blocks) + probes
                #list of connections where each endpoint is enabled
-               connections = self._flow_graph.get_enabled_connections()
+               connections = filter(lambda c: not c.is_msg(), self._flow_graph.get_enabled_connections())
+               messages = filter(lambda c: c.is_msg(), self._flow_graph.get_enabled_connections())
                #list of variable names
                var_ids = [var.get_id() for var in parameters + variables]
                #prepend self.
@@ -113,10 +120,12 @@ Add a Misc->Throttle block to your flow graph to avoid CPU congestion.''')
                        'imports': imports,
                        'flow_graph': self._flow_graph,
                        'variables': variables,
+                       'notebooks': notebooks,
                        'controls': controls,
                        'parameters': parameters,
                        'blocks': blocks,
                        'connections': connections,
+                       'messages': messages,
                        'generate_options': self._generate_options,
                        'var_id2cbs': var_id2cbs,
                }