From: Bruno Haible Date: Thu, 5 Dec 2024 08:28:13 +0000 (+0100) Subject: gnulib-tool.py: Refactor. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=5efa7c42982786b3bac4c8495c9d6baa5bd1a721;p=gnulib.git 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. --- diff --git a/ChangeLog b/ChangeLog index 771c225c5e..892ead004f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2024-12-05 Bruno Haible + 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. diff --git a/pygnulib/GLModuleSystem.py b/pygnulib/GLModuleSystem.py index 5182d9ac99..1a5c93b0d8 100644 --- a/pygnulib/GLModuleSystem.py +++ b/pygnulib/GLModuleSystem.py @@ -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,