diff --git a/backend/apps/ifc_validation/tasks/check_programs.py b/backend/apps/ifc_validation/tasks/check_programs.py index 9aa5fc0d..1e41ec3b 100644 --- a/backend/apps/ifc_validation/tasks/check_programs.py +++ b/backend/apps/ifc_validation/tasks/check_programs.py @@ -89,7 +89,7 @@ def is_schema_error(line): def check_schema(context:TaskContext): proc = run_subprocess( task = context.task, - command = [sys.executable, "-m", "ifcopenshell.validate", "--json", "--rules", "--fields", context.file_path ] + command = [sys.executable, "-m", "ifcopenshell.validate", "--json", "--rules", "--fields", "--recursion-limit", "10000", context.file_path] ) output = list(filter(is_schema_error, proc.stdout.split("\n"))) success = proc.returncode >= 0 diff --git a/backend/apps/ifc_validation/tasks/processing/schema.py b/backend/apps/ifc_validation/tasks/processing/schema.py index 65b1d495..bfd8dbb9 100644 --- a/backend/apps/ifc_validation/tasks/processing/schema.py +++ b/backend/apps/ifc_validation/tasks/processing/schema.py @@ -26,6 +26,9 @@ def process_schema(context:TaskContext): for line in output: message = json.loads(line) + if message["level"] == "info": + # This currently only happens due to caught RecursionErrors in rule executor + continue outcome = ValidationOutcome( severity=ValidationOutcome.OutcomeSeverity.ERROR, outcome_code=ValidationOutcome.ValidationOutcomeCode.SCHEMA_ERROR,