From e5e5924d8c4510417f133f189f27234e1c9992a5 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 11 Dec 2020 11:58:03 +0100 Subject: [PATCH] implemented helper for global environment variables --- pype.py | 13 +------------ pype/modules/base.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/pype.py b/pype.py index 37428df079..a0843fa566 100644 --- a/pype.py +++ b/pype.py @@ -76,18 +76,7 @@ def set_modules_environments(): modules_manager = ModulesManager() - module_envs = {} - for module in modules_manager.get_enabled_modules(): - # Collect global module's global environments - _envs = module.get_global_environments() - for key, value in _envs.items(): - if key in module_envs: - # TODO better error message - raise AssertionError( - "Duplicated environment key {}".format(key) - ) - module_envs[key] = value - + module_envs = modules_manager.collect_global_environments() publish_plugin_dirs = modules_manager.collect_plugin_paths()["publish"] # Set pyblish plugins paths if any module want to register them diff --git a/pype/modules/base.py b/pype/modules/base.py index a38ba6f127..6ba9022f95 100644 --- a/pype/modules/base.py +++ b/pype/modules/base.py @@ -297,6 +297,29 @@ class ModulesManager: if module.enabled ] + def collect_global_environments(self): + """Helper to collect global enviornment variabled from modules. + + Returns: + dict: Global environment variables from enabled modules. + + Raises: + AssertionError: Gobal environment variables must be unique for + all modules. + """ + module_envs = {} + for module in self.get_enabled_modules(): + # Collect global module's global environments + _envs = module.get_global_environments() + for key, value in _envs.items(): + if key in module_envs: + # TODO better error message + raise AssertionError( + "Duplicated environment key {}".format(key) + ) + module_envs[key] = value + return module_envs + def collect_plugin_paths(self): """Helper to collect all plugins from modules inherited IPluginPaths.