moonraker: refactor component loading

Remove the "load_component_multi" method as it is not
necessary.  Components are responsible for loading
"child" sections as required.  Core components can
now have their own config section.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
Eric Callahan 2021-09-29 19:49:47 -04:00 committed by Eric Callahan
parent ec12a187fc
commit 0f1aea8df8
2 changed files with 3 additions and 7 deletions

View File

@ -920,5 +920,5 @@ class Loxonev1(HTTPDevice):
# The power component has multiple configuration sections
def load_component_multi(config: ConfigHelper) -> PrinterPower:
def load_component(config: ConfigHelper) -> PrinterPower:
return PrinterPower(config)

View File

@ -195,13 +195,9 @@ class Server:
return self.components[component_name]
try:
module = importlib.import_module("components." + component_name)
func_name = "load_component"
if hasattr(module, "load_component_multi"):
func_name = "load_component_multi"
if component_name not in CORE_COMPONENTS and \
func_name == "load_component":
if component_name in config:
config = config[component_name]
load_func = getattr(module, func_name)
load_func = getattr(module, "load_component")
component = load_func(config)
except Exception:
msg = f"Unable to load component: ({component_name})"