diff --git a/src/ansys/dpf/core/operators/build.py b/src/ansys/dpf/core/operators/build.py index 68af0a5054..aba08a9d60 100644 --- a/src/ansys/dpf/core/operators/build.py +++ b/src/ansys/dpf/core/operators/build.py @@ -7,6 +7,7 @@ import black import chevron + from ansys.dpf import core as dpf from ansys.dpf.core import common from ansys.dpf.core.dpf_operator import available_operator_names @@ -15,6 +16,14 @@ from ansys.dpf.core.operators.translator import Markdown2RstTranslator +# Operator internal names to call if first name is not available +# Allows deprecating internal names associated to public Python operator modules +operator_aliases = { + "support_provider_cyclic": "mapdl::rst::support_provider_cyclic", + "NMISC": "mapdl::nmisc", + "SMISC": "mapdl::smisc", +} + def build_docstring(specification_description): """Used to generate class docstrings.""" docstring = "" @@ -157,6 +166,8 @@ def build_operator( "date_and_time": date_and_time, "has_input_aliases": has_input_aliases, "has_output_aliases": has_output_aliases, + "has_internal_name_alias": operator_name in operator_aliases.keys(), + "internal_name_alias": operator_aliases.get(operator_name), } this_path = os.path.dirname(os.path.abspath(__file__)) diff --git a/src/ansys/dpf/core/operators/metadata/cyclic_support_provider.py b/src/ansys/dpf/core/operators/metadata/cyclic_support_provider.py index 6a1257bebb..e7cc283062 100644 --- a/src/ansys/dpf/core/operators/metadata/cyclic_support_provider.py +++ b/src/ansys/dpf/core/operators/metadata/cyclic_support_provider.py @@ -7,6 +7,7 @@ from __future__ import annotations from warnings import warn +from ansys.dpf.core.core import errors from ansys.dpf.core.dpf_operator import Operator from ansys.dpf.core.inputs import Input, _Inputs from ansys.dpf.core.outputs import Output, _Outputs @@ -81,7 +82,19 @@ def __init__( config=None, server=None, ): - super().__init__(name="support_provider_cyclic", config=config, server=server) + try: + super().__init__( + name="support_provider_cyclic", config=config, server=server + ) + except (KeyError, errors.DPFServerException) as e: + if "doesn't exist in the registry" in str(e): + super().__init__( + name="mapdl::rst::support_provider_cyclic", + config=config, + server=server, + ) + else: + raise e self._inputs = InputsCyclicSupportProvider(self) self._outputs = OutputsCyclicSupportProvider(self) if streams_container is not None: diff --git a/src/ansys/dpf/core/operators/operator.mustache b/src/ansys/dpf/core/operators/operator.mustache index 1e1be762c0..8e1b671ccf 100644 --- a/src/ansys/dpf/core/operators/operator.mustache +++ b/src/ansys/dpf/core/operators/operator.mustache @@ -7,6 +7,9 @@ Autogenerated DPF operator classes. from __future__ import annotations from warnings import warn +{{#has_internal_name_alias}} +from ansys.dpf.core.core import errors +{{/has_internal_name_alias}} from ansys.dpf.core.dpf_operator import Operator from ansys.dpf.core.inputs import Input, _Inputs {{#outputs}} @@ -83,7 +86,18 @@ class {{class_name}}(Operator): """ def __init__(self, {{#input_pins}}{{name}}=None, {{/input_pins}}config=None, server=None{{#has_input_aliases}}, {{#input_pins}}{{#aliases_list}}{{alias}}=None, {{/aliases_list}}{{/input_pins}}{{/has_input_aliases}}): + {{^has_internal_name_alias}} super().__init__(name="{{operator_name}}", config=config, server=server) + {{/has_internal_name_alias}} + {{#has_internal_name_alias}} + try: + super().__init__(name="{{operator_name}}", config=config, server=server) + except (KeyError, errors.DPFServerException) as e: + if "doesn't exist in the registry" in str(e): + super().__init__(name="{{internal_name_alias}}", config=config, server=server) + else: + raise e + {{/has_internal_name_alias}} self._inputs = Inputs{{capital_class_name}}(self) self._outputs = Outputs{{capital_class_name}}(self) {{#input_pins}}