diff options
Diffstat (limited to 'grc/core/schema_checker/flow_graph.py')
-rw-r--r-- | grc/core/schema_checker/flow_graph.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/grc/core/schema_checker/flow_graph.py b/grc/core/schema_checker/flow_graph.py new file mode 100644 index 0000000000..746fbf4aa7 --- /dev/null +++ b/grc/core/schema_checker/flow_graph.py @@ -0,0 +1,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), + )) + +) |