From a6bf4b164a50a27dbf1e2f4d537ebfb9956e0a10 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 17 Mar 2026 10:44:24 +0100 Subject: [PATCH] cmds/__init__.py: Make class loading dynamic Signed-off-by: Jan Lindemann --- src/python/jw/pkg/cmds/__init__.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/python/jw/pkg/cmds/__init__.py b/src/python/jw/pkg/cmds/__init__.py index 68e2ba35..409b58b9 100644 --- a/src/python/jw/pkg/cmds/__init__.py +++ b/src/python/jw/pkg/cmds/__init__.py @@ -1,4 +1,13 @@ -from .CmdProjects import CmdProjects -from .CmdDistro import CmdDistro -from .CmdSecrets import CmdSecrets -from .CmdDistro import CmdDistro +import importlib, pkgutil + +__all__ = [] + +for finder, module_name, ispkg in pkgutil.iter_modules(__path__): + if not module_name.startswith("Cmd"): + continue + if module_name == "Cmd": + continue + module = importlib.import_module(f".{module_name}", __name__) + cls = getattr(module, module_name) + globals()[module_name] = cls + __all__.append(module_name)