diff options
-rw-r--r-- | grc/src/grc_gnuradio/FlowGraph.py | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/grc/src/grc_gnuradio/FlowGraph.py b/grc/src/grc_gnuradio/FlowGraph.py index 51526c2cf..238b44ca5 100644 --- a/grc/src/grc_gnuradio/FlowGraph.py +++ b/grc/src/grc_gnuradio/FlowGraph.py @@ -23,6 +23,7 @@ from utils import expr_utils from grc.elements.FlowGraph import FlowGraph as _FlowGraph from Block import Block from Connection import Connection +import traceback class FlowGraph(_FlowGraph): @@ -80,21 +81,23 @@ class FlowGraph(_FlowGraph): Exclude paramterized variables. @return a sorted list of variable blocks in order of dependency (indep -> dep) """ - variables = filter(lambda b: b.get_key() in ( - 'variable', 'variable_slider', 'variable_chooser', 'variable_text_box' - ), self.get_enabled_blocks()) - #map var id to variable block - id2var = dict([(var.get_id(), var) for var in variables]) - #map var id to variable code - #variable code is a concatenation of all param code (without the id param) - id2expr = dict([(var.get_id(), - ' '.join([param.to_code() for param in filter(lambda p: p.get_key() != 'id',var.get_params())]) - ) for var in variables]) - #sort according to dependency - sorted_ids = expr_utils.sort_variables(id2expr) - #create list of sorted variable blocks - variables = [id2var[id] for id in sorted_ids] - return variables + try: + variables = filter(lambda b: b.get_key() in ( + 'variable', 'variable_slider', 'variable_chooser', 'variable_text_box' + ), self.get_enabled_blocks()) + #map var id to variable block + id2var = dict([(var.get_id(), var) for var in variables]) + #map var id to variable code + #variable code is a concatenation of all param code (without the id param) + id2expr = dict([(var.get_id(), + ' '.join([param.to_code() for param in filter(lambda p: p.get_key() != 'id',var.get_params())]) + ) for var in variables]) + #sort according to dependency + sorted_ids = expr_utils.sort_variables(id2expr) + #create list of sorted variable blocks + variables = [id2var[id] for id in sorted_ids] + return variables + except: traceback.print_exc() def get_parameters(self): """! |