Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
210a1af
feat: Update client side 'enhanced' meshing workflow to use server si…
prmukherj Nov 12, 2025
101d833
chore: adding changelog file 4600.added.md [dependabot-skip]
pyansys-ci-bot Nov 12, 2025
72bc722
Add test for renaming, deletion and insertion.
prmukherj Nov 12, 2025
fe3cc4a
Added the update workflow file.
prmukherj Nov 17, 2025
9a33809
Update Meshing workflow.
prmukherj Nov 21, 2025
74a5b01
Merge branch 'main' into feat/update_enhanced_meshing_workflow_to_use…
prmukherj Nov 26, 2025
00f9b29
Merge branch 'feat/update_enhanced_meshing_workflow_to_use_meshing_wo…
prmukherj Nov 26, 2025
dbca074
Update
prmukherj Nov 28, 2025
f4a922e
Updates.
prmukherj Nov 28, 2025
a02a71d
Updated behaviour.
prmukherj Dec 10, 2025
7f930a5
Merge branch 'main' into feat/update_enhanced_meshing_workflow_to_use…
prmukherj Dec 10, 2025
5774525
Monkey patch environment variable.
prmukherj Dec 10, 2025
efcfa19
Update generated task names.
prmukherj Dec 16, 2025
2729cfe
Merge branch 'main' into feat/update_enhanced_meshing_workflow_to_use…
prmukherj Dec 16, 2025
fff3e77
Added docstrings.
prmukherj Dec 16, 2025
dc05be2
Added docstrings.
prmukherj Dec 16, 2025
29780fb
Updates.
prmukherj Dec 16, 2025
4e876b0
Pass down meshing root from the top level.
prmukherj Dec 17, 2025
d96526f
Fixes.
prmukherj Dec 17, 2025
b787792
Remove unnecessary comments.
prmukherj Dec 17, 2025
1672f12
Minor updates.
prmukherj Dec 17, 2025
dcff47f
Minor updates.
prmukherj Dec 17, 2025
3935020
Minor updates.
prmukherj Dec 17, 2025
9919d07
Minor updates.
prmukherj Dec 17, 2025
5ae4d88
Refactor.
prmukherj Dec 17, 2025
51b7d6c
Have inline comments.
prmukherj Dec 17, 2025
bb9ece0
Rename _task_list.
prmukherj Dec 17, 2025
1a63519
Mark workflow tests as nightly.
prmukherj Dec 17, 2025
42eb0eb
Refactor and clean up.
prmukherj Dec 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Refactor.
  • Loading branch information
prmukherj committed Dec 17, 2025
commit 5ae4d8853ec79c3b5fe18853ac600832e92b142d
145 changes: 77 additions & 68 deletions src/ansys/fluent/core/workflow_new.py
Original file line number Diff line number Diff line change
Expand Up @@ -297,23 +297,25 @@ def children(self) -> list[TaskObject]:
self._workflow,
self._workflow.general.workflow.task_list(),
)
name_to_task = {
task_obj.name(): make_task_wrapper(
task_obj,
_get_task_type_name(task_obj),
self._workflow,
self,
self._command_source,
)
for task_obj in self.tasks()
}

sorted_list = []
# Create lightweight lookup: task name -> task datamodel object
tasks_by_name = {task_obj.name(): task_obj for task_obj in self.tasks()}

# Wrap only the top-level tasks in the correct order
wrapped_tasks = []
for name in ordered_names:
if name not in name_to_task:
continue
sorted_list.append(name_to_task[name])
return sorted_list
if name in tasks_by_name:
task_obj = tasks_by_name[name]
wrapped = make_task_wrapper(
task_obj,
_get_task_type_name(task_obj),
self._workflow,
self,
self._command_source,
)
wrapped_tasks.append(wrapped)

return wrapped_tasks

def first_child(self) -> TaskObject | None:
"""Get the first top-level task in the workflow.
Expand Down Expand Up @@ -405,24 +407,23 @@ def _ordered_tasks(self):
self._workflow,
self._workflow.general.workflow.task_list(),
)
name_to_task = {
task_obj.name(): make_task_wrapper(
task_obj,
_get_task_type_name(task_obj),
self._workflow,
self,
self._command_source,
)
for task_obj in self.tasks()
}

sorted_dict = OrderedDict()
# Create lightweight lookup: display name -> task datamodel object
tasks_by_name = {task_obj.name(): task_obj for task_obj in self.tasks()}

# Build ordered dict by wrapping only the tasks in ordered_names
sorted_dict = OrderedDict()
for name in ordered_names:
if name not in name_to_task:
continue
task_obj = name_to_task[name]
sorted_dict[name] = task_obj
if name in tasks_by_name:
task_obj = tasks_by_name[name]
wrapped = make_task_wrapper(
task_obj,
_get_task_type_name(task_obj),
self._workflow,
self,
self._command_source,
)
sorted_dict[name] = wrapped

return sorted_dict

Expand Down Expand Up @@ -764,30 +765,36 @@ def children(self):
List[TaskObject]
Ordered list of child task wrappers, or empty list if no children.
"""
if not self._task_list():
child_names = self._task_list()
if not child_names:
return []

workflow = super().__getattribute__("_workflow")
meshing_root = super().__getattribute__("_meshing_root")
type_to_name = {
item.split(":")[0]: item.split(":")[-1] for item in workflow.task_object()
}
name_to_task = {
val: make_task_wrapper(
getattr(workflow.task_object, key)[val],
key,
workflow,
self,
meshing_root,

# Create reverse lookup: display name -> task type
name_to_type = {
display_name: task_type
for task_type, display_name in (
item.split(":") for item in workflow.task_object()
)
for key, val in type_to_name.items()
}
sorted_list = []
for name in self._task_list():
if name not in name_to_task:
continue
sorted_list.append(name_to_task[name])
return sorted_list

# Build list by wrapping only the child tasks in the correct order
wrapped_children = []
for display_name in child_names:
if display_name in name_to_type:
task_type = name_to_type[display_name]
wrapped = make_task_wrapper(
getattr(workflow.task_object, task_type)[display_name],
task_type,
workflow,
self,
meshing_root,
)
wrapped_children.append(wrapped)

return wrapped_children

def first_child(self):
"""Get the first child task of this task.
Expand Down Expand Up @@ -1003,31 +1010,33 @@ def previous(self):
return task_dict[previous_key]

def _ordered_tasks(self):
sorted_dict = OrderedDict()
if not self._task_list():
return sorted_dict
return OrderedDict()

workflow = super().__getattribute__("_workflow")
meshing_root = super().__getattribute__("_meshing_root")

type_to_name = {
item.split(":")[0]: item.split(":")[-1] for item in workflow.task_object()
}
# Create lightweight lookup: task type -> display name
type_to_name = dict(item.split(":") for item in workflow.task_object())

name_to_task = {
val: make_task_wrapper(
getattr(workflow.task_object, key)[val],
key,
workflow,
self,
super().__getattribute__("_meshing_root"),
)
for key, val in type_to_name.items()
}
# Get ordered list of display names for this level
ordered_names = self._task_list()

for name in self._task_list():
if name not in name_to_task:
continue
task_obj = name_to_task[name]
sorted_dict[name] = task_obj
# Build ordered dict by wrapping only the tasks that are in ordered_names
sorted_dict = OrderedDict()
for display_name in ordered_names:
# Find the matching task type for this display name
for task_type, name in type_to_name.items():
if name == display_name:
wrapped = make_task_wrapper(
getattr(workflow.task_object, task_type)[display_name],
task_type,
workflow,
self,
meshing_root,
)
sorted_dict[display_name] = wrapped
break

return sorted_dict

Expand Down
Loading