summaryrefslogtreecommitdiff
path: root/grc/core/Block.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/core/Block.py')
-rw-r--r--grc/core/Block.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/grc/core/Block.py b/grc/core/Block.py
index cb4eb0db61..106e4bc89a 100644
--- a/grc/core/Block.py
+++ b/grc/core/Block.py
@@ -418,8 +418,11 @@ class Block(Element):
except Exception as e:
self._epy_reload_error = ValueError(str(e))
try: # Load last working block io
- blk_io = epy_block_io.BlockIO(*eval(param_blk.get_value()))
- except:
+ blk_io_args = eval(param_blk.get_value())
+ if len(blk_io_args) == 6:
+ blk_io_args += ([],) # add empty callbacks
+ blk_io = epy_block_io.BlockIO(*blk_io_args)
+ except Exception:
return
else:
self._epy_reload_error = None # Clear previous errors
@@ -432,7 +435,8 @@ class Block(Element):
self._doc = blk_io.doc
self._imports[0] = 'import ' + self.get_id()
self._make = '{0}.{1}({2})'.format(self.get_id(), blk_io.cls, ', '.join(
- '{0}=${0}'.format(key) for key, _ in blk_io.params))
+ '{0}=${{ {0} }}'.format(key) for key, _ in blk_io.params))
+ self._callbacks = ['{0} = ${{ {0} }}'.format(attr) for attr in blk_io.callbacks]
params = {}
for param in list(self._params):