Skip to content

Commit 8f17935

Browse files
chore: Rename and clean up internal datamodel service classes. (#4590)
## Context Some internal classes name were strictly bound to Commands where they could also be used for Query. We rename and make them usable by both. ## Change Summary Renamed all internal datamodel classes so that they are generic. 'help' is removed which was earlier providing dynamic help for legacy datamodel objects. ## Impact No user side impact is anticipated. Key Changes: 1. Renamed PyCommandArguments to PyArguments and all related CommandArguments classes to just Arguments 2. Extended PyQuery to support argument instances similar to PyCommand 3. Removed duplicate help() methods from multiple classes --------- Co-authored-by: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com>
1 parent 814bd80 commit 8f17935

File tree

7 files changed

+207
-225
lines changed

7 files changed

+207
-225
lines changed

devel/undocumented_fields/undocumented_fields.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
- path
201201
- rules
202202
- service
203-
Class: PyCommandArgumentsSubItem
203+
Class: PyArgumentsSubItem
204204
- getAttribValue
205205
- getState
206206
- setState
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Rename and clean up internal datamodel service classes.

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

Lines changed: 52 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
meshing_utility_examples,
3838
)
3939
from ansys.fluent.core.services.datamodel_se import (
40-
PySingletonCommandArgumentsSubItem,
40+
PyArgumentsSingletonSubItem,
4141
arg_class_by_type,
4242
)
4343
from ansys.fluent.core.utils.fix_doc import escape_wildcards
@@ -357,7 +357,7 @@ def _write_arg_class(self, f: FileIO, arg_info, indent: str):
357357
for line in arg_doc.splitlines():
358358
f.write(f"{indent} {escape_wildcards(line)}\n")
359359
f.write(f'{indent} """\n\n')
360-
if arg_class == PySingletonCommandArgumentsSubItem:
360+
if arg_class == PyArgumentsSingletonSubItem:
361361
f.write(
362362
f"{indent} def __init__(self, parent, attr, service, rules, path):\n"
363363
)
@@ -492,56 +492,55 @@ def _write_static_info(self, name: str, info: Any, f: FileIO, level: int = 0):
492492
info["queries"][k]["queryinfo"],
493493
file,
494494
)
495-
for k in commands:
496-
f.write(f"{indent} class {k}(PyCommand):\n")
497-
f.write(f'{indent} """\n')
498-
command_static_info = info["commands"][k]
499-
f.write(
500-
_build_command_query_docstring(
501-
k, command_static_info, f"{indent} ", True
495+
496+
def _write_static_command_and_query_info(
497+
actions, class_name: str, st_info_key: tuple[str], is_command: bool
498+
):
499+
for k in actions:
500+
f.write(f"{indent} class {k}({class_name}):\n")
501+
f.write(f'{indent} """\n')
502+
actions_static_info = info[st_info_key[0]][k]
503+
f.write(
504+
_build_command_query_docstring(
505+
k, actions_static_info, f"{indent} ", is_command
506+
)
502507
)
503-
)
504-
f.write(f'{indent} """\n')
505-
f.write(
506-
f"{indent} class _{k}CommandArguments(PyCommandArguments):\n"
507-
)
508-
f.write(
509-
f"{indent} def __init__(self, service, rules, command, path, id):\n"
510-
)
511-
f.write(
512-
f"{indent} super().__init__(service, rules, command, path, id)\n"
513-
)
514-
args_info = command_static_info["commandinfo"].get("args", [])
515-
for arg_info in args_info:
516-
arg_name = arg_info["name"]
517-
py_name = _convert_to_py_name(arg_name)
508+
f.write(f'{indent} """\n')
509+
f.write(f"{indent} class _{k}Arguments(PyArguments):\n")
518510
f.write(
519-
f'{indent} self.{py_name} = self._{py_name}(self, "{arg_name}", service, rules, path)\n'
511+
f"{indent} def __init__(self, service, rules, command, path, id):\n"
520512
)
521-
f.write("\n")
522-
for arg_info in args_info:
523-
self._write_arg_class(f, arg_info, f"{indent} ")
513+
f.write(
514+
f"{indent} super().__init__(service, rules, command, path, id)\n"
515+
)
516+
args_info = actions_static_info[st_info_key[1]].get("args", [])
517+
for arg_info in args_info:
518+
arg_name = arg_info["name"]
519+
py_name = _convert_to_py_name(arg_name)
520+
f.write(
521+
f'{indent} self.{py_name} = self._{py_name}(self, "{arg_name}", service, rules, path)\n'
522+
)
523+
f.write("\n")
524+
for arg_info in args_info:
525+
self._write_arg_class(f, arg_info, f"{indent} ")
524526

525-
f.write(
526-
f"{indent} def create_instance(self) -> _{k}CommandArguments:\n"
527-
)
528-
f.write(f"{indent} args = self._get_create_instance_args()\n")
529-
f.write(f"{indent} if args is not None:\n")
530-
f.write(
531-
f"{indent} return self._{k}CommandArguments(*args)\n\n"
532-
)
533-
api_tree[k] = "Command"
534-
for k in queries:
535-
f.write(f"{indent} class {k}(PyQuery):\n")
536-
f.write(f'{indent} """\n')
537-
f.write(
538-
_build_command_query_docstring(
539-
k, info["queries"][k], f"{indent} ", False
527+
f.write(
528+
f"{indent} def create_instance(self) -> _{k}Arguments:\n"
540529
)
541-
)
542-
f.write(f'{indent} """\n')
543-
f.write(f"{indent} pass\n\n")
544-
api_tree[k] = "Query"
530+
f.write(
531+
f"{indent} args = self._get_create_instance_args()\n"
532+
)
533+
f.write(f"{indent} if args is not None:\n")
534+
f.write(f"{indent} return self._{k}Arguments(*args)\n\n")
535+
api_tree[k] = st_info_key[2]
536+
537+
_write_static_command_and_query_info(
538+
commands, "PyCommand", ("commands", "commandinfo", "Command"), True
539+
)
540+
_write_static_command_and_query_info(
541+
queries, "PyQuery", ("queries", "queryinfo", "Query"), False
542+
)
543+
545544
return api_tree
546545

547546
def write_static_info(self) -> None:
@@ -566,12 +565,12 @@ def write_static_info(self) -> None:
566565
f.write(" PyNamedObjectContainer,\n")
567566
f.write(" PyCommand,\n")
568567
f.write(" PyQuery,\n")
569-
f.write(" PyCommandArguments,\n")
570-
f.write(" PyTextualCommandArgumentsSubItem,\n")
571-
f.write(" PyNumericalCommandArgumentsSubItem,\n")
572-
f.write(" PyDictionaryCommandArgumentsSubItem,\n")
573-
f.write(" PyParameterCommandArgumentsSubItem,\n")
574-
f.write(" PySingletonCommandArgumentsSubItem\n")
568+
f.write(" PyArguments,\n")
569+
f.write(" PyArgumentsTextualSubItem,\n")
570+
f.write(" PyArgumentsNumericalSubItem,\n")
571+
f.write(" PyArgumentsDictionarySubItem,\n")
572+
f.write(" PyArgumentsParameterSubItem,\n")
573+
f.write(" PyArgumentsSingletonSubItem\n")
575574
f.write(")\n\n\n")
576575
api_tree_val = {
577576
name: self._write_static_info("Root", info.static_info, f)

0 commit comments

Comments
 (0)