diff --git a/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue b/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue index 9e4f794d7..c1ebddee9 100644 --- a/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue +++ b/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue @@ -183,7 +183,8 @@ export default { }, scenarioUpdate(scenarioData) { let scenarioXMLData = this.scenarioToXML(scenarioData) - this.errors = configurator.pythonObject.validateScenario(this.board.content, scenarioXMLData) + let all_errors = configurator.pythonObject.validateScenario(this.board.content, scenarioXMLData) + this.errors = all_errors.semantic_errors this.scenario = scenarioData; this.showFlag = false; this.updateCurrentFormSchema() @@ -428,9 +429,10 @@ export default { .then(() => { stepDone = 1 console.log("validate settings...") - this.errors = configurator.pythonObject.validateScenario(this.board.content, scenarioXMLData) + let all_errors = configurator.pythonObject.validateScenario(this.board.content, scenarioXMLData) + this.errors = all_errors.semantic_errors // noinspection ExceptionCaughtLocallyJS - if (this.errors.length !== 0) { + if (all_errors.syntactic_errors.length !== 0 || all_errors.semantic_errors.length !== 0) { throw new Error("validation failed") } console.log("validation ok") diff --git a/misc/config_tools/configurator/pyodide/validateScenario.py b/misc/config_tools/configurator/pyodide/validateScenario.py index 0509cf04b..06bdd6773 100644 --- a/misc/config_tools/configurator/pyodide/validateScenario.py +++ b/misc/config_tools/configurator/pyodide/validateScenario.py @@ -27,11 +27,9 @@ def main(board, scenario): XMLLoadStage("board"), XMLLoadStage("scenario"), DefaultValuePopulatingStage(), + SyntacticValidationStage(), SemanticValidationStage(), ] - # - # if is_debug: - # stages.append(SyntacticValidationStage()) pipeline.add_stages(stages) with TemporaryDirectory() as tmpdir: @@ -50,8 +48,9 @@ def main(board, scenario): ) pipeline.run(obj) - validate_result = obj.get("semantic_errors") - return convert_result(validate_result) + syntactic_errors = obj.get("syntactic_errors") + semantic_errors = obj.get("semantic_errors") + return convert_result({"syntactic_errors": syntactic_errors, "semantic_errors": semantic_errors}) def test():