From 1b6ee26854467963b3d91df8993cf3830820d4c8 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 5 Jan 2025 14:40:27 +0100 Subject: [PATCH] Don't fail on empty ReferencedSource in IfcTester --- src/ifcopenshell-python/ifcopenshell/util/classification.py | 2 +- src/ifctester/ifctester/facet.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/classification.py b/src/ifcopenshell-python/ifcopenshell/util/classification.py index a372dd7046..1c2112036f 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/classification.py +++ b/src/ifcopenshell-python/ifcopenshell/util/classification.py @@ -54,7 +54,7 @@ def get_references(element: ifcopenshell.entity_instance, should_inherit=True) - def get_classification(reference: ifcopenshell.entity_instance) -> ifcopenshell.entity_instance: if reference.is_a("IfcClassification"): return reference - return get_classification(reference.ReferencedSource) + return get_classification(reference.ReferencedSource) if reference.ReferencedSource is not None else None def get_inherited_references(reference: Optional[ifcopenshell.entity_instance]) -> list[ifcopenshell.entity_instance]: diff --git a/src/ifctester/ifctester/facet.py b/src/ifctester/ifctester/facet.py index 05c786e5d0..f84f4821af 100644 --- a/src/ifctester/ifctester/facet.py +++ b/src/ifctester/ifctester/facet.py @@ -416,7 +416,8 @@ class Classification(Facet): reason = {"type": "VALUE", "actual": values} if is_pass: - systems = [ifcopenshell.util.classification.get_classification(r).Name for r in references] + classifications = filter(None, (ifcopenshell.util.classification.get_classification(r) for r in references)) + systems = [r.Name for r in classifications] is_pass = any([self.system == s for s in systems]) if not is_pass: reason = {"type": "SYSTEM", "actual": systems}