From 8997da158a85ca7465e30e0735d21b58b07b8141 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 28 Feb 2020 14:59:10 +0100 Subject: [PATCH] install project specific plugins (publish, load and create) found in {PYPE_PROJECT_PLUGINS}/{project_name} --- pype/__init__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pype/__init__.py b/pype/__init__.py index 89c653bf6f..0177c27596 100644 --- a/pype/__init__.py +++ b/pype/__init__.py @@ -11,6 +11,7 @@ log = logging.getLogger(__name__) __version__ = "2.5.0" +PROJECT_PLUGINS_PATH = os.environ.get("PYPE_PROJECT_PLUGINS") PACKAGE_DIR = os.path.dirname(__file__) PLUGINS_DIR = os.path.join(PACKAGE_DIR, "plugins") @@ -72,6 +73,18 @@ def install(): pyblish.register_discovery_filter(filter_pyblish_plugins) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) + # Register project specific plugins + project_name = os.environ.get("AVALON_PROJECT") + if PROJECT_PLUGINS_PATH and project_name: + for path in PROJECT_PLUGINS_PATH.split(os.pathsep): + if not path: + continue + plugin_path = os.path.join(path, project_name) + if os.path.exists(plugin_path): + pyblish.register_plugin_path(plugin_path) + avalon.register_plugin_path(avalon.Loader, plugin_path) + avalon.register_plugin_path(avalon.Creator, plugin_path) + # apply monkey patched discover to original one avalon.discover = patched_discover