core (main): check plugin modes and skip pluggin/log an error if value is invalid

This commit is contained in:
Goffi 2021-09-08 11:16:35 +02:00
commit 12209c1bdc

View file

@ -330,6 +330,12 @@ class SAT(service.Service):
plugin_modes = plugin_info["modes"] = set(
plugin_info.setdefault("modes", C.PLUG_MODE_DEFAULT)
)
if not plugin_modes.intersection(C.PLUG_MODE_BOTH):
log.error(
f"Can't import plugin at {plugin_path}, invalid {C.PI_MODES!r} "
f"value: {plugin_modes!r}"
)
continue
# if the plugin is an entry point, it must work in component mode
if plugin_info["type"] == C.PLUG_TYPE_ENTRY_POINT: