Files
BILT-Workshop-Demo-Function/flatten.py
T
Jonathon Broughton 72439b1f1d Initial commit
2024-05-07 21:33:21 +01:00

14 lines
416 B
Python

"""Helper module for a simple speckle object tree flattening."""
from collections.abc import Iterable
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") and base.elements is not None:
for element in base["elements"]:
yield from flatten_base(element)
yield base