1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
from .utils import Spec, expand
PARAM_SCHEME = expand(
base_key=str, # todo: rename/remove
id=str,
label=str,
category=str,
dtype=str,
default=object,
options=list,
option_labels=list,
option_attributes=Spec(types=dict, required=False,
item_scheme=(str, list)),
hide=str,
)
PORT_SCHEME = expand(
label=str,
domain=str,
id=str,
dtype=str,
vlen=(int, str),
multiplicity=(int, str),
optional=(bool, int, str),
hide=(bool, str),
)
TEMPLATES_SCHEME = expand(
imports=str,
var_make=str,
var_value=str,
make=str,
callbacks=list,
)
CPP_TEMPLATES_SCHEME = expand(
includes=list,
declarations=str,
make=str,
var_make=str,
callbacks=list,
link=list,
packages=list,
translations=dict,
)
BLOCK_SCHEME = expand(
id=Spec(types=str, required=True, item_scheme=None),
label=str,
category=str,
flags=(list, str),
parameters=Spec(types=list, required=False, item_scheme=PARAM_SCHEME),
inputs=Spec(types=list, required=False, item_scheme=PORT_SCHEME),
outputs=Spec(types=list, required=False, item_scheme=PORT_SCHEME),
asserts=(list, str),
value=str,
templates=Spec(types=dict, required=False, item_scheme=TEMPLATES_SCHEME),
cpp_templates=Spec(types=dict, required=False,
item_scheme=CPP_TEMPLATES_SCHEME),
documentation=str,
grc_source=str,
file_format=Spec(types=int, required=True, item_scheme=None),
block_wrapper_path=str, # todo: rename/remove
)
|