diff --git a/src/ansys/fluent/core/services/datamodel_tui.py b/src/ansys/fluent/core/services/datamodel_tui.py index a567e6566ed5..839f58816139 100644 --- a/src/ansys/fluent/core/services/datamodel_tui.py +++ b/src/ansys/fluent/core/services/datamodel_tui.py @@ -1,6 +1,7 @@ """Wrappers over TUI-based datamodel grpc service of Fluent.""" import keyword +import types from typing import Any, Iterable, List, Tuple, Union import grpc @@ -210,6 +211,15 @@ def __dir__(self) -> Iterable[str]: for x in PyMenu(self.service, self.path).get_child_names() ] + def __getattribute__(self, name): + attr = super().__getattribute__(name) + if type(attr) == types.MethodType: + path = self.path + [name] + # if menus are inserted at runtime in Fluent + if PyMenu(self.service, path).get_child_names(): + return TUIMenuGeneric(path, self.service) + return attr + class TUIMenuGeneric(TUIMenu): """Generic menu class for when the explicit menu classes aren't