Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

General: Added helper getters to modules manager #3712

Merged
merged 1 commit into from
Aug 24, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions openpype/modules/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,40 @@ def __init__(self, _system_settings=None):
self.initialize_modules()
self.connect_modules()

def __getitem__(self, module_name):
return self.modules_by_name[module_name]

def get(self, module_name, default=None):
"""Access module by name.

Args:
module_name (str): Name of module which should be returned.
default (Any): Default output if module is not available.

Returns:
Union[OpenPypeModule, None]: Module found by name or None.
"""
return self.modules_by_name.get(module_name, default)

def get_enabled_module(self, module_name, default=None):
"""Fast access to enabled module.

If module is available but is not enabled default value is returned.

Args:
module_name (str): Name of module which should be returned.
default (Any): Default output if module is not available or is
not enabled.

Returns:
Union[OpenPypeModule, None]: Enabled module found by name or None.
"""

module = self.get(module_name)
if module is not None and module.enabled:
return module
return default

def initialize_modules(self):
"""Import and initialize modules."""
# Make sure modules are loaded
Expand Down