diff --git a/pype/__init__.py b/pype/__init__.py index 2a922547e8..928bff6e9d 100644 --- a/pype/__init__.py +++ b/pype/__init__.py @@ -2,7 +2,7 @@ import os from pyblish import api as pyblish from avalon import api as avalon -from .api import config, Anatomy +from .api import project_settings, Anatomy from .lib import filter_pyblish_plugins @@ -50,14 +50,14 @@ def patched_discover(superclass): print(">>> trying to find presets for {}:{} ...".format(host, plugin_type)) try: - config_data = config.get_presets()['plugins'][host][plugin_type] + settings = project_settings(os.environ['AVALON_PROJECT'])[host][plugin_type] except KeyError: print("*** no presets found.") else: for plugin in plugins: - if plugin.__name__ in config_data: + if plugin.__name__ in settings: print(">>> We have preset for {}".format(plugin.__name__)) - for option, value in config_data[plugin.__name__].items(): + for option, value in settings[plugin.__name__].items(): if option == "enabled" and value is False: setattr(plugin, "active", False) print(" - is disabled by preset") @@ -104,6 +104,7 @@ def install(): anatomy.set_root_environments() avalon.register_root(anatomy.roots) # apply monkey patched discover to original one + log.info("Patching discovery") avalon.discover = patched_discover diff --git a/pype/lib/plugin_tools.py b/pype/lib/plugin_tools.py index 0b6ace807e..185ebce10f 100644 --- a/pype/lib/plugin_tools.py +++ b/pype/lib/plugin_tools.py @@ -4,7 +4,7 @@ import os import inspect import logging -from ..api import config +from ..api import config, project_settings log = logging.getLogger(__name__) @@ -25,7 +25,7 @@ def filter_pyblish_plugins(plugins): host = api.current_host() - presets = config.get_presets().get('plugins', {}) + presets = project_settings(os.environ['AVALON_PROJECT']) or {} # iterate over plugins for plugin in plugins[:]: @@ -53,7 +53,7 @@ def filter_pyblish_plugins(plugins): log.info('removing plugin {}'.format(plugin.__name__)) plugins.remove(plugin) else: - log.info('setting {}:{} on plugin {}'.format( + log.info('setting XXX {}:{} on plugin {}'.format( option, value, plugin.__name__)) setattr(plugin, option, value) diff --git a/pype/plugin.py b/pype/plugin.py index a169e82beb..8d53e9c4be 100644 --- a/pype/plugin.py +++ b/pype/plugin.py @@ -2,7 +2,7 @@ import tempfile import os import pyblish.api -from pype.api import config +from pype.api import project_settings import inspect ValidatePipelineOrder = pyblish.api.ValidatorOrder + 0.05 @@ -24,12 +24,14 @@ def imprint_attributes(plugin): plugin_host = file.split(os.path.sep)[-3:-2][0] plugin_name = type(plugin).__name__ try: - config_data = config.get_presets()['plugins'][plugin_host][plugin_kind][plugin_name] # noqa: E501 + settings = project_settings(os.environ['AVALON_PROJECT']) + settings_data = settings[plugin_host][plugin_kind][plugin_name] # noqa: E501 + print(settings_data) except KeyError: print("preset not found") return - for option, value in config_data.items(): + for option, value in settings_data.items(): if option == "enabled" and value is False: setattr(plugin, "active", False) else: