From 77627a167cfc8180e40ff04bf31746aeea33ae8d Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Mon, 22 Mar 2021 12:53:51 +0100 Subject: [PATCH] ModulesManager can accept different settings data --- pype/modules/base.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pype/modules/base.py b/pype/modules/base.py index 03a5965841..47c7de9d50 100644 --- a/pype/modules/base.py +++ b/pype/modules/base.py @@ -285,12 +285,20 @@ class ITrayService(ITrayModule): class ModulesManager: + """Manager of Pype modules helps to load and prepare them to work. + + Args: + modules_settings(dict): To be able create module manager with specified + data. For settings changes callbacks and testing purposes. + """ # Helper attributes for report _report_total_key = "Total" - def __init__(self): + def __init__(self, _system_settings=None): self.log = logging.getLogger(self.__class__.__name__) + self._system_settings = _system_settings + self.modules = [] self.modules_by_id = {} self.modules_by_name = {} @@ -304,7 +312,11 @@ class ModulesManager: """Import and initialize modules.""" self.log.debug("*** Pype modules initialization.") # Prepare settings for modules - modules_settings = get_system_settings()["modules"] + if self._system_settings is None: + system_settings = get_system_settings() + else: + system_settings = self._system_settings + modules_settings = system_settings["modules"] report = {} time_start = time.time()