aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Schroer <3470424+dl1ksv@users.noreply.github.com>2018-11-24 12:51:01 +0100
committerDerek Kozel <derek@bitstovolts.com>2019-03-13 00:27:38 +0000
commit88a1549f4e69fefd4f02eb826ada04cbd36b0849 (patch)
treeb3260555ab8edc1aff3ba179b8f5b2cf855734ff
parentmodtool add: add C++ QA for both version '37', '38' (diff)
downloadgnuradio-88a1549f4e69fefd4f02eb826ada04cbd36b0849.tar.xz
gnuradio-88a1549f4e69fefd4f02eb826ada04cbd36b0849.zip
Correctly building dummy block
-rw-r--r--grc/core/FlowGraph.py2
-rw-r--r--grc/core/blocks/dummy.py10
2 files changed, 9 insertions, 3 deletions
diff --git a/grc/core/FlowGraph.py b/grc/core/FlowGraph.py
index 58e10f08b..7be39159e 100644
--- a/grc/core/FlowGraph.py
+++ b/grc/core/FlowGraph.py
@@ -376,7 +376,7 @@ class FlowGraph(Element):
)
if isinstance(block, blocks.DummyBlock):
- print('Block id "%s" not found' % block_id)
+ block.add_error_message('Block id "{}" not found.'.format(block_id))
block.import_data(**block_data)
diff --git a/grc/core/blocks/dummy.py b/grc/core/blocks/dummy.py
index 6a5ec2fa7..ccdc5a5b0 100644
--- a/grc/core/blocks/dummy.py
+++ b/grc/core/blocks/dummy.py
@@ -19,6 +19,7 @@ from __future__ import absolute_import
from . import Block, register_build_in
+from ._build import _build_params, _build_ports
@register_build_in
class DummyBlock(Block):
@@ -28,9 +29,12 @@ class DummyBlock(Block):
label = 'Missing Block'
key = '_dummy'
- def __init__(self, parent, missing_block_id, parameters, **_):
+ def __init__(self, parent, missing_block_id, parameters,**kwargs):
+
self.key = missing_block_id
+ self.parameters_data = _build_params([kwargs],False, False,self.flags, self.key)
super(DummyBlock, self).__init__(parent=parent)
+ del self.params[self.key] # Remove missing keys from parameter list
param_factory = self.parent_platform.make_param
for param_id in parameters:
@@ -42,7 +46,7 @@ class DummyBlock(Block):
@property
def enabled(self):
return False
-
+
def add_missing_port(self, port_id, direction):
port = self.parent_platform.make_port(
parent=self, direction=direction, id=port_id, name='?', dtype='',
@@ -51,4 +55,6 @@ class DummyBlock(Block):
self.sources.append(port)
else:
self.sinks.append(port)
+ self.rewrite() # Make port visible
+ self.validate() # Generate appropriate error messages
return port