From 6a8704d2d7de6f4b9554b3ef3c4420660b313f2d Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Wed, 23 Jun 2021 19:38:22 +0100 Subject: [PATCH] Add @if for blocks too --- scone/head/menu_reader.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scone/head/menu_reader.py b/scone/head/menu_reader.py index 96fa9d7..87b475d 100644 --- a/scone/head/menu_reader.py +++ b/scone/head/menu_reader.py @@ -152,7 +152,7 @@ class MenuBlock: user_directive: Optional[str] = None sous_directive: Optional[str] = None - control_directives: List[ForDirective] = attr.ib(factory=list) + control_directives: List[ControlDirective] = attr.ib(factory=list) import_directives: List[str] = attr.ib(factory=list) recipe_edges: List[RecipeEdgeDirective] = attr.ib(factory=list) resource_edges: List[ResourceEdgeDirective] = attr.ib(factory=list) @@ -306,6 +306,13 @@ def convert_textx_block(txblock, parent: Optional[MenuBlock]) -> MenuBlock: var = directive.variable assert isinstance(var, str) block.control_directives.append(IfSetDirective(var)) + elif isinstance(directive, scoml_classes["IfCondDirective"]): + var = directive.variable + op = directive.operator + other_value = convert_textx_value(directive.other_value) + assert isinstance(var, str) + assert isinstance(op, str) + block.control_directives.append(IfCondDirective(var, op, other_value)) elif isinstance(directive, scoml_classes["ImportDirective"]): block.import_directives.append(directive.importee) elif isinstance(directive, scoml_classes["ResourceEdgeDirective"]):