]> Savannah Git Hosting - gnulib.git/commitdiff
gnulib-tool.py: Refactor.
authorBruno Haible <bruno@clisp.org>
Thu, 5 Dec 2024 08:28:13 +0000 (09:28 +0100)
committerBruno Haible <bruno@clisp.org>
Thu, 5 Dec 2024 08:41:23 +0000 (09:41 +0100)
* pygnulib/GLModuleSystem.py (GLModuleSystem.getAllModules): Moved here
from GLModule._getAllModules. No need to eliminate empty module names.
(GLModule._getDependents, GLModule.getDependentsRecursively): Update.

ChangeLog
pygnulib/GLModuleSystem.py

index 771c225c5eb1312206e0eb141578bc62bffd5794..892ead004f7edf55b0260785647832ad4d2cf11b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2024-12-05  Bruno Haible  <bruno@clisp.org>
 
+       gnulib-tool.py: Refactor.
+       * pygnulib/GLModuleSystem.py (GLModuleSystem.getAllModules): Moved here
+       from GLModule._getAllModules. No need to eliminate empty module names.
+       (GLModule._getDependents, GLModule.getDependentsRecursively): Update.
+
        gnulib-tool.py: Remove dead code.
        * pygnulib/GLModuleSystem.py (GLModule.getDependents): Remove top_level
        parameter. Use the cached value if present.
index 5182d9ac993bb610a22584c410b5a31f64896da1..1a5c93b0d846b9f4e918e7af00aa0cdd277df710 100644 (file)
@@ -177,6 +177,16 @@ class GLModuleSystem:
         modules = sorted(set(listing))
         return modules
 
+    def getAllModules(self) -> list[GLModule]:
+        '''Return a list of all modules as a list of GLModule objects.'''
+        module_names = self.list(True)
+        modules = [ self.find(module)
+                    for module in module_names ]
+        modules = [ module
+                    for module in modules
+                    if module is not None ]
+        return modules
+
 
 #===============================================================================
 # Define GLModule class
@@ -564,24 +574,13 @@ class GLModule:
 
         return outmodules
 
-    def _getAllModules(self) -> list[GLModule]:
-        '''Return a list of all modules as a list of GLModule objects.'''
-        module_names = self.modulesystem.list(True)
-        modules = [ self.modulesystem.find(module)
-                    for module in module_names
-                    if module != '']
-        modules = [ module
-                    for module in modules
-                    if module is not None ]
-        return modules
-
     def _getDependents(self, modules: list[GLModule] | None = None) -> list[GLModule]:
         '''Internal function for getDependentsRecursively
         accepting an optional argument modules.'''
         if 'dependents' not in self.cache:
             result = []
             if modules is None:
-                modules = self._getAllModules()
+                modules = self.modulesystem.getAllModules()
             for module in modules:
                 if self in set(module.getDependenciesWithoutConditions()):
                     result.append(module)
@@ -648,7 +647,7 @@ class GLModule:
         inmodules = set()
         outmodules = set()
 
-        modules = self._getAllModules()
+        modules = self.modulesystem.getAllModules()
 
         # In order to process every module only once (for speed), process an "input
         # list" of modules, producing an "output list" of modules. During each round,