summaryrefslogtreecommitdiff
path: root/grc
diff options
context:
space:
mode:
Diffstat (limited to 'grc')
-rw-r--r--grc/core/blocks/_build.py19
-rw-r--r--grc/core/blocks/embedded_python.py34
-rw-r--r--grc/core/blocks/virtual.py45
3 files changed, 36 insertions, 62 deletions
diff --git a/grc/core/blocks/_build.py b/grc/core/blocks/_build.py
index bed0f6934a..bd2c3fd6df 100644
--- a/grc/core/blocks/_build.py
+++ b/grc/core/blocks/_build.py
@@ -20,7 +20,6 @@ from __future__ import absolute_import
import collections
import itertools
import re
-import six
from ..Constants import ADVANCED_PARAM_TAB
from ..utils import to_list
@@ -50,10 +49,10 @@ def build(id, label='', category='', flags='', documentation='',
cls.asserts = [_single_mako_expr(a, block_id) for a in to_list(asserts)]
- cls.inputs_data = _build_ports(inputs, 'sink') if inputs else []
- cls.outputs_data = _build_ports(outputs, 'source') if outputs else []
- cls.parameters_data = _build_params(parameters or [],
- bool(cls.inputs_data), bool(cls.outputs_data), cls.flags, block_id)
+ cls.inputs_data = build_ports(inputs, 'sink') if inputs else []
+ cls.outputs_data = build_ports(outputs, 'source') if outputs else []
+ cls.parameters_data = build_params(parameters or [],
+ bool(cls.inputs_data), bool(cls.outputs_data), cls.flags, block_id)
cls.extra_data = kwargs
templates = templates or {}
@@ -81,7 +80,7 @@ def build(id, label='', category='', flags='', documentation='',
return cls
-def _build_ports(ports_raw, direction):
+def build_ports(ports_raw, direction):
ports = []
port_ids = set()
stream_port_ids = itertools.count()
@@ -99,7 +98,7 @@ def _build_ports(ports_raw, direction):
return ports
-def _build_params(params_raw, have_inputs, have_outputs, flags, block_id):
+def build_params(params_raw, have_inputs, have_outputs, flags, block_id):
params = []
def add_param(**data):
@@ -117,9 +116,9 @@ def _build_params(params_raw, have_inputs, have_outputs, flags, block_id):
if have_outputs:
add_param(id='minoutbuf', name='Min Output Buffer', dtype='int',
- hide='part', value='0', category=ADVANCED_PARAM_TAB)
+ hide='part', default='0', category=ADVANCED_PARAM_TAB)
add_param(id='maxoutbuf', name='Max Output Buffer', dtype='int',
- hide='part', value='0', category=ADVANCED_PARAM_TAB)
+ hide='part', default='0', category=ADVANCED_PARAM_TAB)
base_params_n = {}
for param_data in params_raw:
@@ -138,7 +137,7 @@ def _build_params(params_raw, have_inputs, have_outputs, flags, block_id):
base_params_n[param_id] = param_data_ext
add_param(id='comment', name='Comment', dtype='_multiline', hide='part',
- value='', category=ADVANCED_PARAM_TAB)
+ default='', category=ADVANCED_PARAM_TAB)
return params
diff --git a/grc/core/blocks/embedded_python.py b/grc/core/blocks/embedded_python.py
index 57cf0ee4e9..548739ed52 100644
--- a/grc/core/blocks/embedded_python.py
+++ b/grc/core/blocks/embedded_python.py
@@ -26,7 +26,8 @@ from ._templates import MakoTemplates
from .. import utils
from ..base import Element
-from ._build import _build_params as build_core_params
+from ._build import build_params
+
DEFAULT_CODE = '''\
"""
@@ -82,13 +83,12 @@ class EPyBlock(Block):
label = 'Python Block'
documentation = {'': DOC}
- parameters_data = [dict(
- label='Code',
- id='_source_code',
- dtype='_multiline_python_external',
- default=DEFAULT_CODE,
- hide='part',
- )]
+ parameters_data = build_params(
+ params_raw=[
+ dict(label='Code', id='_source_code', dtype='_multiline_python_external',
+ default=DEFAULT_CODE, hide='part')
+ ], have_inputs=True, have_outputs=True, flags=Block.flags, block_id=key
+ )
inputs_data = []
outputs_data = []
@@ -230,18 +230,14 @@ class EPyModule(Block):
to set parameters of other blocks in your flowgraph.
""")}
- parameters = [dict(
- label='Code',
- id='source_code',
- dtype='_multiline_python_external',
- default='# this module will be imported in the into your flowgraph',
- hide='part',
- )]
+ parameters_data = build_params(
+ params_raw=[
+ dict(label='Code', id='source_code', dtype='_multiline_python_external',
+ default='# this module will be imported in the into your flowgraph',
+ hide='part')
+ ], have_inputs=False, have_outputs=False, flags=Block.flags, block_id=key
+ )
templates = MakoTemplates(
imports='import ${ id } # embedded python module',
)
-
- def __init__(self, flow_graph, **kwargs):
- self.parameters_data = build_core_params(self.parameters, False, False, self.flags, self.key)
- super(EPyModule, self).__init__(flow_graph, **kwargs)
diff --git a/grc/core/blocks/virtual.py b/grc/core/blocks/virtual.py
index b74a01c985..209b3ca0e0 100644
--- a/grc/core/blocks/virtual.py
+++ b/grc/core/blocks/virtual.py
@@ -20,7 +20,8 @@ from __future__ import absolute_import
import itertools
from . import Block, register_build_in
-from ._build import _build_params, _build_ports
+from ._build import build_params
+
@register_build_in
class VirtualSink(Block):
@@ -28,25 +29,14 @@ class VirtualSink(Block):
key = 'virtual_sink'
label = 'Virtual Sink'
- documentation = {'': ''}
- parameters = [dict(
- label='Stream ID',
- id='stream_id',
- dtype='stream_id',
- )]
- inputs = [dict(
- domain='stream',
- dtype=''
- )]
- outputs = []
+ parameters_data = build_params(
+ params_raw=[dict(label='Stream ID', id='stream_id', dtype='stream_id')],
+ have_inputs=False, have_outputs=False, flags=Block.flags, block_id=key
+ )
+ inputs_data = [dict(domain='stream', dtype='', direction='sink', id="0")]
def __init__(self, parent, **kwargs):
- self.inputs_data = _build_ports(self.inputs, 'sink') if self.inputs else []
- self.outputs_data = _build_ports(self.outputs, 'source') if self.outputs else []
- self.parameters_data = _build_params(self.parameters or [],
- bool(self.inputs), bool(self.outputs), self.flags, self.key)
-
super(VirtualSink, self).__init__(parent, **kwargs)
self.params['id'].hide = 'all'
@@ -61,25 +51,14 @@ class VirtualSource(Block):
key = 'virtual_source'
label = 'Virtual Source'
- documentation = {'': ''}
- parameters = [dict(
- label='Stream ID',
- id='stream_id',
- dtype='stream_id',
- )]
- outputs = [dict(
- domain='stream',
- dtype=''
- )]
- inputs = []
+ parameters_data = build_params(
+ params_raw=[dict(label='Stream ID', id='stream_id', dtype='stream_id')],
+ have_inputs=False, have_outputs=False, flags=Block.flags, block_id=key
+ )
+ outputs_data = [dict(domain='stream', dtype='', direction='source', id="0")]
def __init__(self, parent, **kwargs):
- self.inputs_data = _build_ports(self.inputs, 'sink') if self.inputs else []
- self.outputs_data = _build_ports(self.outputs, 'source') if self.outputs else []
- self.parameters_data = _build_params(self.parameters or [],
- bool(self.inputs), bool(self.outputs), self.flags, self.key)
-
super(VirtualSource, self).__init__(parent, **kwargs)
self.params['id'].hide = 'all'