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