[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:
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.