commit: 1a0f3aa7dcbc1464c56c16ac85ffb3d9ebdd5acb Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org> AuthorDate: Fri Dec 2 10:21:33 2022 +0000 Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org> CommitDate: Sun Dec 18 18:58:27 2022 +0000 URL: https://gitweb.gentoo.org/proj/pkgcore/pkgcore.git/commit/?id=1a0f3aa7
remove builtin_configurables plugins Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org> src/pkgcore/plugins/builtin_configurables.py | 23 ----------------------- src/pkgcore/scripts/pconfig.py | 25 +++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/pkgcore/plugins/builtin_configurables.py b/src/pkgcore/plugins/builtin_configurables.py deleted file mode 100644 index 801b0eb59..000000000 --- a/src/pkgcore/plugins/builtin_configurables.py +++ /dev/null @@ -1,23 +0,0 @@ -from snakeoil.test.mixins import PythonNamespaceWalker - - -class walker(PythonNamespaceWalker): - - ignore_all_import_failures = True - - def _default_module_blacklister(self, target): - if target.startswith("pkgcore.test.") or target.startswith('pkgcore.plugins.') \ - or 'pkgcore.test' == target: - return True - return PythonNamespaceWalker._default_module_blacklister(self, target) - -targets = [] -for module in walker().walk_namespace('pkgcore'): - for name in dir(module): - obj = getattr(module, name) - if getattr(obj, 'pkgcore_config_type', None) is not None: - targets.append(f'{module.__name__}.{name}') - -pkgcore_plugins = { - 'configurable': targets -} diff --git a/src/pkgcore/scripts/pconfig.py b/src/pkgcore/scripts/pconfig.py index 37fb008db..95f00bb36 100644 --- a/src/pkgcore/scripts/pconfig.py +++ b/src/pkgcore/scripts/pconfig.py @@ -5,10 +5,10 @@ import traceback from functools import partial from snakeoil.errors import dump_error +from snakeoil.test.mixins import PythonNamespaceWalker from ..config import basics, errors from ..ebuild import atom -from ..plugin import get_plugins from ..util import commandline @@ -207,6 +207,27 @@ def dump_main(options, out, err): out.write('}') +def all_configurables(): + class walker(PythonNamespaceWalker): + + ignore_all_import_failures = True + + def _default_module_blacklister(self, target): + if target.startswith(("pkgcore.test.", 'pkgcore.plugins.')) \ + or 'pkgcore.test' == target: + return True + return super()._default_module_blacklister(target) + + return ( + obj + for module in walker().walk_namespace('pkgcore') + for name in dir(module) + if getattr(obj := getattr(module, name), 'pkgcore_config_type', None) is not None + if not getattr(obj, 'disabled', False) + if not getattr(obj, '_plugin_disabled_check', lambda: False)() + ) + + configurables = subparsers.add_parser( "configurables", parents=shared_options, description='list registered configurables (may not be complete)') @@ -223,7 +244,7 @@ def configurables_main(options, out, err): return "%s.%s" % (getattr(obj, '__module__', ''), getattr(obj, '__name__', '')) - for configurable in sorted(get_plugins('configurable'), key=key_func): + for configurable in sorted(all_configurables(), key=key_func): type_obj = basics.ConfigType(configurable) if options.typename is not None and type_obj.name != options.typename: continue