[sdk/kde-builder] kde_builder_lib: refactor: Avoid passing callbacks in walk_module_dependency_trees()
Andrew Shark <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit d8386a2ab8813650a2a2a27f6cda7babb00f7680 by Andrew Shark.
Committed on 16/07/2026 at 20:33.
Pushed by ashark into branch 'master'.
refactor: Avoid passing callbacks in walk_module_dependency_trees()
M +3 -3 kde_builder_lib/application.py
M +8 -5 kde_builder_lib/dependency_resolver.py
https://invent.kde.org/sdk/kde-builder/-/commit/d8386a2ab8813650a2a2a27f6cda7babb00f7680
diff --git a/kde_builder_lib/application.py b/kde_builder_lib/application.py
index 43654422..a89c70f6 100644
--- a/kde_builder_lib/application.py
+++ b/kde_builder_lib/application.py
@@ -341,12 +341,12 @@ class Application:
if "dependency-tree" in cmdline_global_options or "dependency-tree-fullpath" in cmdline_global_options:
if "dependency-tree" in cmdline_global_options:
- callback = self.dependency_resolver._yield_module_dependency_tree_entry
+ mode="tree"
else:
- callback = self.dependency_resolver._yield_module_dependency_tree_entry_full_path
+ mode="fullpath"
self.dependency_resolver.walk_module_dependency_trees(
- callback,
+ mode,
modules
)
diff --git a/kde_builder_lib/dependency_resolver.py b/kde_builder_lib/dependency_resolver.py
index efbe4333..d6f3bcd3 100644
--- a/kde_builder_lib/dependency_resolver.py
+++ b/kde_builder_lib/dependency_resolver.py
@@ -549,14 +549,17 @@ class DependencyResolver:
self._run_dependency_vote()
return
- def _descend_module_graph(self, callback, node_info, context) -> None:
+ def _descend_module_graph(self, mode: str, node_info, context) -> None:
module_graph = self.dependency_graph
depth = node_info["depth"]
current_item = node_info["current_item"]
current_branch = node_info["current_branch"]
sub_graph = module_graph[current_item]
- callback(node_info, sub_graph["module"], context)
+ if mode == "tree":
+ self._yield_module_dependency_tree_entry(node_info, sub_graph["module"], context)
+ else:
+ self._yield_module_dependency_tree_entry_full_path(node_info, sub_graph["module"], context)
depth += 1
@@ -578,10 +581,10 @@ class DependencyResolver:
"parent_item": current_item,
"parent_branch": current_branch
}
- self._descend_module_graph(callback, item_info, context)
+ self._descend_module_graph(mode, item_info, context)
item_index += 1
- def walk_module_dependency_trees(self, callback: Callable, modules: list[Module]) -> None:
+ def walk_module_dependency_trees(self, mode: str, modules: list[Module]) -> None:
module_graph = self.dependency_graph
item_count = len(modules)
item_index = 1
@@ -606,7 +609,7 @@ class DependencyResolver:
"parent_item": "",
"parent_branch": ""
}
- self._descend_module_graph(callback, info, context)
+ self._descend_module_graph(mode, info, context)
item_index += 1
def make_comparison_func(self) -> Callable: