Update flatten.py

This commit is contained in:
Jonathon Broughton
2024-03-12 08:39:45 +00:00
committed by GitHub
parent be21e606c3
commit bcdf172982
+5 -3
View File
@@ -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