Skip to content

Commit 115e6cd

Browse files
chore: Perform deprecation call from generated data. (#4162)
Perform deprecation call from generated data. --------- Co-authored-by: pyansys-ci-bot <[email protected]>
1 parent f2371bc commit 115e6cd

File tree

4 files changed

+33
-25
lines changed

4 files changed

+33
-25
lines changed

doc/changelog.d/4162.maintenance.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Perform deprecation call from generated data.

doc/settings_rstgen.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,9 @@ def _populate_rst_from_settings(rst_dir, cls, version):
139139
r.write(f'{"="*(len(cls_orig_name))}\n\n')
140140
deprecated = getattr(cls, "_deprecated_version", None)
141141
if deprecated:
142-
r.write(f".. deprecated:: Ansys {cls._deprecated_version}\n\n")
143-
deprecated_class_version.update({cls_name: deprecated})
142+
release_version = "20" + cls._deprecated_version.replace(".", "R")
143+
r.write(f".. deprecated:: Ansys {release_version}\n\n")
144+
deprecated_class_version.update({cls_name: release_version})
144145
r.write(
145146
f".. autoclass:: ansys.fluent.core.generated.solver.settings_{version}.{cls_name}\n"
146147
)

src/ansys/fluent/core/codegen/settingsgen.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,7 @@ def _write_data(cls_name: str, python_name: str, data: dict, f: IO, f_stub: IO |
230230
s.write(f" _version = {data['version']!r}\n")
231231
deprecated = data["deprecated_version"]
232232
if deprecated:
233-
release_version = "20" + data["deprecated_version"].replace(".", "R")
234-
s.write(f" _deprecated_version = {release_version!r}\n")
233+
s.write(f" _deprecated_version = {deprecated!r}\n")
235234
s_stub.write(" _deprecated_version: str\n")
236235
s.write(f" fluent_name = {data['fluent_name']!r}\n")
237236
# _python_name preserves the original non-suffixed name of the class.

src/ansys/fluent/core/solver/flobject.py

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,24 @@ def _get_class_from_paths(root_cls, some_path: list[str], other_path: list[str])
224224
return cls, full_path
225225

226226

227+
def _is_deprecated(obj) -> bool | None:
228+
"""Whether the object is deprecated in a specific Fluent version."""
229+
if FluentVersion(obj._version) >= FluentVersion.v252:
230+
# "_deprecated_version" is part of generated data since 25R2
231+
deprecated_version = getattr(obj, "_deprecated_version", None)
232+
else:
233+
deprecated_version = obj.get_attrs(["deprecated-version"])
234+
if deprecated_version:
235+
deprecated_version = deprecated_version.get("attrs", deprecated_version)
236+
deprecated_version = (
237+
deprecated_version.get("deprecated-version") if deprecated_version else None
238+
)
239+
return deprecated_version and (
240+
FluentVersion(float(deprecated_version)) <= FluentVersion.v222
241+
or FluentVersion(obj._version) >= FluentVersion(deprecated_version)
242+
)
243+
244+
227245
class Base:
228246
"""Provides the base class for settings and command objects.
229247
@@ -401,19 +419,6 @@ def get_attr(
401419
return None
402420
return val
403421

404-
def _is_deprecated(self) -> bool:
405-
"""Whether the object is deprecated in a specific Fluent version.'"""
406-
deprecated_version = self.get_attrs(["deprecated-version"])
407-
if deprecated_version:
408-
deprecated_version = deprecated_version.get("attrs", deprecated_version)
409-
deprecated_version = (
410-
deprecated_version.get("deprecated-version") if deprecated_version else None
411-
)
412-
return deprecated_version and (
413-
float(deprecated_version) <= 22.2
414-
or FluentVersion(self._version) >= FluentVersion(deprecated_version)
415-
)
416-
417422
def is_active(self) -> bool:
418423
"""Whether the object is active."""
419424
attr = self.get_attr(_InlineConstants.is_active)
@@ -950,7 +955,7 @@ def _command_query_name_filter(
950955
for name in names:
951956
if name not in excluded and name.startswith(prefix):
952957
child = getattr(parent, name)
953-
if child.is_active() and not child._is_deprecated():
958+
if child.is_active() and not _is_deprecated(child):
954959
ret.append([name, child.__class__.__bases__[0].__name__, child.__doc__])
955960
return ret
956961

@@ -1064,7 +1069,7 @@ def get_active_child_names(self):
10641069
ret = []
10651070
for child_name in self.child_names:
10661071
child = getattr(self, child_name)
1067-
if child.is_active() and not child._is_deprecated():
1072+
if child.is_active() and not _is_deprecated(child):
10681073
ret.append(child_name)
10691074
return ret
10701075

@@ -1073,7 +1078,7 @@ def get_active_command_names(self):
10731078
ret = []
10741079
for command_name in self.command_names:
10751080
command = getattr(self, command_name)
1076-
if command.is_active() and not command._is_deprecated():
1081+
if command.is_active() and not _is_deprecated(command):
10771082
ret.append(command_name)
10781083
return ret
10791084

@@ -1082,7 +1087,7 @@ def get_active_query_names(self):
10821087
ret = []
10831088
for query_name in self.query_names:
10841089
query = getattr(self, query_name)
1085-
if query.is_active() and not query._is_deprecated():
1090+
if query.is_active() and not _is_deprecated(query):
10861091
ret.append(query_name)
10871092
return ret
10881093

@@ -1092,7 +1097,8 @@ def __dir__(self):
10921097
[
10931098
child
10941099
for child in self.child_names + self.command_names + self.query_names
1095-
if getattr(self, child)._is_deprecated()
1100+
if getattr(self, child).is_active()
1101+
and _is_deprecated(getattr(self, child))
10961102
]
10971103
)
10981104

@@ -1109,7 +1115,7 @@ def get_completer_info(self, prefix="", excluded=None) -> List[List[str]]:
11091115
for child_name in self.child_names:
11101116
if child_name not in excluded and child_name.startswith(prefix):
11111117
child = getattr(self, child_name)
1112-
if child.is_active() and not child._is_deprecated():
1118+
if child.is_active() and not _is_deprecated(child):
11131119
ret.append(
11141120
[
11151121
child_name,
@@ -1649,7 +1655,8 @@ def __dir__(self):
16491655
[
16501656
child
16511657
for child in self.argument_names
1652-
if getattr(self, child)._is_deprecated()
1658+
if getattr(self, child).is_active()
1659+
and _is_deprecated(getattr(self, child))
16531660
]
16541661
)
16551662

@@ -1666,7 +1673,7 @@ def get_completer_info(self, prefix="", excluded=None) -> List[List[str]]:
16661673
for argument_name in self.argument_names:
16671674
if argument_name not in excluded and argument_name.startswith(prefix):
16681675
argument = getattr(self, argument_name)
1669-
if argument.is_active() and not argument._is_deprecated():
1676+
if argument.is_active() and not _is_deprecated(argument):
16701677
ret.append(
16711678
[
16721679
argument_name,

0 commit comments

Comments
 (0)