summaryrefslogtreecommitdiff
path: root/grc/core/schema_checker/flow_graph.py
blob: 746fbf4aa7ad926ed26d63a9f0266bb1cd980019 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from .utils import Spec, expand, str_

OPTIONS_SCHEME = expand(
    parameters=Spec(types=dict, required=False, item_scheme=(str_, str_)),
    states=Spec(types=dict, required=False, item_scheme=(str_, str_)),
)

BLOCK_SCHEME = expand(
    name=str_,
    id=str_,
    **OPTIONS_SCHEME
)

FLOW_GRAPH_SCHEME = expand(
    options=Spec(types=dict, required=False, item_scheme=OPTIONS_SCHEME),
    blocks=Spec(types=dict, required=False, item_scheme=BLOCK_SCHEME),
    connections=list,

    metadata=Spec(types=dict, required=True, item_scheme=expand(
        file_format=Spec(types=int, required=True, item_scheme=None),
    ))

)