From 5f437c018d2b59f45741a71554e178f7b74f8e1f Mon Sep 17 00:00:00 2001 From: KatKatKateryna Date: Tue, 20 Aug 2024 12:17:25 +0100 Subject: [PATCH] reply on speckle_type for traversal --- pygeoapi/provider/speckle.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pygeoapi/provider/speckle.py b/pygeoapi/provider/speckle.py index 91df059..f724e59 100644 --- a/pygeoapi/provider/speckle.py +++ b/pygeoapi/provider/speckle.py @@ -428,7 +428,9 @@ class SpeckleProvider(BaseProvider): TraversalRule, ) - supported_types = [GisFeature, GisPolygonElement, Mesh, Brep, Point, Line, Polyline, Curve] + supported_classes = [GisFeature, GisPolygonElement, Mesh, Brep, Point, Line, Polyline, Curve] + supported_types = [y().speckle_type for y in supported_classes] + # traverse commit data: Dict[str, Any] = { "type": "FeatureCollection", @@ -436,14 +438,13 @@ class SpeckleProvider(BaseProvider): "model_crs": "-", } self.assign_crs_to_geojson(data) - rule = TraversalRule( [lambda _: True], lambda x: [ item for item in x.get_member_names() if isinstance(getattr(x, item, None), list) - and type(x) not in supported_types + and x.speckle_type.split(":")[-1] not in supported_types ], ) context_list = [x for x in GraphTraversal([rule]).traverse(commit_obj)]