summaryrefslogtreecommitdiff
path: root/grc/python/epy_block_io.py
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2016-01-29 11:16:57 +0100
committerSebastian Koslowski <koslowski@kit.edu>2016-02-01 17:39:45 +0100
commit6947f3afb9ec020d534d3e05b85cb574a41f7232 (patch)
treecb15282380000522363c9f6f83444b14264c10c6 /grc/python/epy_block_io.py
parent11973c64437683cc99c48eae9eb4db8234f1ac42 (diff)
grc: better message port handling for embedded python blocks
Diffstat (limited to 'grc/python/epy_block_io.py')
-rw-r--r--grc/python/epy_block_io.py12
1 files changed, 5 insertions, 7 deletions
diff --git a/grc/python/epy_block_io.py b/grc/python/epy_block_io.py
index 8d3ce1caa1..e089908a01 100644
--- a/grc/python/epy_block_io.py
+++ b/grc/python/epy_block_io.py
@@ -39,10 +39,8 @@ def _blk_class(source_code):
raise ValueError("Can't interpret source code: " + str(e))
for var in ns.itervalues():
if inspect.isclass(var)and issubclass(var, gr.gateway.gateway_block):
- break
- else:
- raise ValueError('No python block class found in code')
- return var
+ return var
+ raise ValueError('No python block class found in code')
def extract(cls):
@@ -55,7 +53,7 @@ def extract(cls):
cls_name = cls.__name__
if len(defaults) + 1 != len(spec.args):
- raise ValueError("Need all default values")
+ raise ValueError("Need all __init__ arguments to have default values")
try:
instance = cls()
@@ -66,9 +64,9 @@ def extract(cls):
params = list(zip(spec.args[1:], defaults))
sinks = _ports(instance.in_sig(),
- pmt.to_python(instance.message_ports_in()))
+ pmt.to_python(instance.message_ports_in()))
sources = _ports(instance.out_sig(),
- pmt.to_python(instance.message_ports_out()))
+ pmt.to_python(instance.message_ports_out()))
return BlockIO(name, cls_name, params, sinks, sources, doc)