Skip to content

Commit d9d659e

Browse files
authored
Add capability to return gdc property as any (#2422)
1 parent 37d193d commit d9d659e

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/ansys/dpf/core/any.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,11 @@ def _type_to_new_from_get_as_method(self, obj):
205205
self._api.any_new_from_operator,
206206
self._api.any_get_as_operator,
207207
)
208+
elif issubclass(obj, Any):
209+
return (
210+
lambda x: x,
211+
lambda x: x,
212+
)
208213

209214
@staticmethod
210215
def new_from(obj, server=None):
@@ -307,6 +312,7 @@ def cast(self, output_type=None):
307312
or self._internal_type is str
308313
or self._internal_type is float
309314
or self._internal_type is bytes
315+
or self._internal_type is Any
310316
):
311317
obj = internal_obj
312318
else:

tests/test_generic_data_container.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,15 @@ def test_set_int_vec_generic_data_container(server_type):
172172
gdc.set_property("nparray", np.array([1, 2, 3], dtype=np.int32))
173173
assert np.allclose(gdc.get_property("vec"), [1, 2, 3])
174174
assert np.allclose(gdc.get_property("nparray"), [1, 2, 3])
175+
176+
177+
@conftest.raises_for_servers_version_under("7.0")
178+
def test_set_get_any_generic_data_container(server_type):
179+
gdc = dpf.GenericDataContainer(server=server_type)
180+
entity = dpf.DataTree(server=server_type)
181+
entity.add(name="john")
182+
gdc.set_property("persons", entity)
183+
new_entity = gdc.get_property("persons", output_type=dpf.Any)
184+
assert isinstance(new_entity, dpf.Any)
185+
new_entity = new_entity.cast(dpf.DataTree)
186+
assert new_entity.get_as("name") == "john"

0 commit comments

Comments
 (0)