diff --git a/flatten.py b/flatten.py index 4c2d5bb..9b4ff89 100644 --- a/flatten.py +++ b/flatten.py @@ -7,7 +7,9 @@ from specklepy.objects import Base def flatten_base(base: Base) -> Iterable[Base]: """Take a base and flatten it to an iterable of bases.""" - if hasattr(base, "elements"): - for element in base["elements"]: - yield from flatten_base(element) + if hasattr(base, "elements") and base.elements is not None: + # Check if base.elements is not only present and non-None, but also an iterable + if isinstance(base.elements, Iterable): + for element in base.elements: + yield from flatten_base(element) yield base