From 2a60c5ff9ebd13ec03ba6b6defae5a228ca94c7a Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 24 Oct 2019 12:06:42 +0200 Subject: [PATCH 1/6] set pyblish gui to pyblish_lite --- pype/standalonepublish/publish.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pype/standalonepublish/publish.py b/pype/standalonepublish/publish.py index f199aaf84e..a0769956c3 100644 --- a/pype/standalonepublish/publish.py +++ b/pype/standalonepublish/publish.py @@ -142,6 +142,7 @@ def cli_publish(data, gui=True): os.environ["PYBLISH_HOSTS"] = "standalonepublisher" os.environ["SAPUBLISH_INPATH"] = json_data_path os.environ["SAPUBLISH_OUTPATH"] = return_data_path + os.environ["PYBLISH_GUI"] = "pyblish_lite" returncode = execute([ sys.executable, "-u", "-m", "pyblish" From 290b2009dbdbcd4d3ec7908e1913cdf79df7917b Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 24 Oct 2019 12:07:31 +0200 Subject: [PATCH 2/6] add standalone publish plugins to special folder --- .../publish/collect_context.py | 0 .../publish/extract_review.py} | 0 .../publish/extract_thumbnail.py} | 0 pype/standalonepublish/publish.py | 8 +------- 4 files changed, 1 insertion(+), 7 deletions(-) rename pype/plugins/{global => standalonepublisher}/publish/collect_context.py (100%) rename pype/plugins/{global/publish/extract_review_sa.py => standalonepublisher/publish/extract_review.py} (100%) rename pype/plugins/{global/publish/extract_thumbnail_sa.py => standalonepublisher/publish/extract_thumbnail.py} (100%) diff --git a/pype/plugins/global/publish/collect_context.py b/pype/plugins/standalonepublisher/publish/collect_context.py similarity index 100% rename from pype/plugins/global/publish/collect_context.py rename to pype/plugins/standalonepublisher/publish/collect_context.py diff --git a/pype/plugins/global/publish/extract_review_sa.py b/pype/plugins/standalonepublisher/publish/extract_review.py similarity index 100% rename from pype/plugins/global/publish/extract_review_sa.py rename to pype/plugins/standalonepublisher/publish/extract_review.py diff --git a/pype/plugins/global/publish/extract_thumbnail_sa.py b/pype/plugins/standalonepublisher/publish/extract_thumbnail.py similarity index 100% rename from pype/plugins/global/publish/extract_thumbnail_sa.py rename to pype/plugins/standalonepublisher/publish/extract_thumbnail.py diff --git a/pype/standalonepublish/publish.py b/pype/standalonepublish/publish.py index a0769956c3..2c04bdc865 100644 --- a/pype/standalonepublish/publish.py +++ b/pype/standalonepublish/publish.py @@ -17,15 +17,9 @@ import pyblish.api # Registers Global pyblish plugins pype.install() -# Registers Standalone pyblish plugins -# PUBLISH_PATH = os.path.sep.join( -# [pype.PLUGINS_DIR, 'standalonepublish', 'publish'] -# ) -# pyblish.api.register_plugin_path(PUBLISH_PATH) - # Registers Standalone pyblish plugins PUBLISH_PATH = os.path.sep.join( - [pype.PLUGINS_DIR, 'ftrack', 'publish'] + [pype.PLUGINS_DIR, 'standalonepublisher', 'publish'] ) pyblish.api.register_plugin_path(PUBLISH_PATH) From f4d77493d6cf141d27325b666dd4c3730a2894f8 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 24 Oct 2019 12:08:01 +0200 Subject: [PATCH 3/6] context label collector without savefile when standalone publisher --- pype/plugins/global/publish/collect_context_label.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pype/plugins/global/publish/collect_context_label.py b/pype/plugins/global/publish/collect_context_label.py index 9c07d7de5b..8cf71882aa 100644 --- a/pype/plugins/global/publish/collect_context_label.py +++ b/pype/plugins/global/publish/collect_context_label.py @@ -26,4 +26,6 @@ class CollectContextLabel(pyblish.api.ContextPlugin): # Set label label = "{host} - {scene}".format(host=host.title(), scene=base) + if host == "standalonepublisher": + label = host.title() context.data["label"] = label From caf78dee15c583f76b04712c16d941c41984e744 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 25 Oct 2019 09:51:50 +0200 Subject: [PATCH 4/6] standalone publish plugins are registered based on imported modules --- pype/standalonepublish/publish.py | 7 ------- .../standalonepublish_module.py | 21 +++++++++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/pype/standalonepublish/publish.py b/pype/standalonepublish/publish.py index 2c04bdc865..0473a84720 100644 --- a/pype/standalonepublish/publish.py +++ b/pype/standalonepublish/publish.py @@ -15,13 +15,6 @@ from pypeapp import execute import pyblish.api -# Registers Global pyblish plugins -pype.install() -# Registers Standalone pyblish plugins -PUBLISH_PATH = os.path.sep.join( - [pype.PLUGINS_DIR, 'standalonepublisher', 'publish'] -) -pyblish.api.register_plugin_path(PUBLISH_PATH) def set_context(project, asset, task, app): diff --git a/pype/standalonepublish/standalonepublish_module.py b/pype/standalonepublish/standalonepublish_module.py index 703f457138..75c033e16b 100644 --- a/pype/standalonepublish/standalonepublish_module.py +++ b/pype/standalonepublish/standalonepublish_module.py @@ -1,11 +1,19 @@ +import os from .app import show from .widgets import QtWidgets +import pype +import pyblish.api class StandAlonePublishModule: + PUBLISH_PATHS = [] + def __init__(self, main_parent=None, parent=None): self.main_parent = main_parent self.parent_widget = parent + self.PUBLISH_PATHS.append(os.path.sep.join( + [pype.PLUGINS_DIR, "standalonepublisher", "publish"] + )) def tray_menu(self, parent_menu): self.run_action = QtWidgets.QAction( @@ -14,5 +22,18 @@ class StandAlonePublishModule: self.run_action.triggered.connect(self.show) parent_menu.addAction(self.run_action) + def process_modules(self, modules): + if "FtrackModule" in modules: + self.PUBLISH_PATHS.append(os.path.sep.join( + [pype.PLUGINS_DIR, "ftrack", "publish"] + )) + + def tray_start(self): + # Registers Global pyblish plugins + pype.install() + # Registers Standalone pyblish plugins + for path in self.PUBLISH_PATHS: + pyblish.api.register_plugin_path(path) + def show(self): show(self.main_parent, False) From 35a82e3d6b8ee9ae9787c08f937091fb0396ee20 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 25 Oct 2019 10:01:54 +0200 Subject: [PATCH 5/6] renamed standalone publish plugins --- pype/plugins/standalonepublisher/publish/extract_review.py | 6 +++--- .../standalonepublisher/publish/extract_thumbnail.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pype/plugins/standalonepublisher/publish/extract_review.py b/pype/plugins/standalonepublisher/publish/extract_review.py index 541a717964..bc32a28b04 100644 --- a/pype/plugins/standalonepublisher/publish/extract_review.py +++ b/pype/plugins/standalonepublisher/publish/extract_review.py @@ -5,7 +5,7 @@ from pype.vendor import clique import pype.api -class ExtractReviewSaP(pyblish.api.InstancePlugin): +class ExtractReviewSP(pyblish.api.InstancePlugin): """Extracting Review mov file for Ftrack Compulsory attribute of representation is tags list with "review", @@ -16,7 +16,7 @@ class ExtractReviewSaP(pyblish.api.InstancePlugin): filter values use preset's attributes `ext_filter` """ - label = "Extract Review SaP" + label = "Extract Review SP" order = pyblish.api.ExtractorOrder + 0.02 families = ["review"] hosts = ["standalonepublisher"] @@ -24,8 +24,8 @@ class ExtractReviewSaP(pyblish.api.InstancePlugin): def process(self, instance): # adding plugin attributes from presets presets = instance.context.data["presets"] - publish_presets = presets["plugins"]["global"]["publish"] try: + publish_presets = presets["plugins"]["standalonepublisher"]["publish"] plugin_attrs = publish_presets[self.__class__.__name__] except KeyError: raise KeyError("Preset for plugin \"{}\" are not set".format( diff --git a/pype/plugins/standalonepublisher/publish/extract_thumbnail.py b/pype/plugins/standalonepublisher/publish/extract_thumbnail.py index f42985b560..69a2e0fdad 100644 --- a/pype/plugins/standalonepublisher/publish/extract_thumbnail.py +++ b/pype/plugins/standalonepublisher/publish/extract_thumbnail.py @@ -5,7 +5,7 @@ import pyblish.api import pype.api -class ExtractThumbnail(pyblish.api.InstancePlugin): +class ExtractThumbnailSP(pyblish.api.InstancePlugin): """Extract jpeg thumbnail from component input from standalone publisher Uses jpeg file from component if possible (when single or multiple jpegs @@ -13,7 +13,7 @@ class ExtractThumbnail(pyblish.api.InstancePlugin): input file/s single jpeg to temp. """ - label = "Extract Thumbnail" + label = "Extract Thumbnail SP" hosts = ["standalonepublisher"] order = pyblish.api.ExtractorOrder From ae36d25258de672e9fe88d5f2fb6b1da43678fd6 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 25 Oct 2019 10:04:30 +0200 Subject: [PATCH 6/6] hosts context is not set directly in envrionments --- pype/standalonepublish/publish.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pype/standalonepublish/publish.py b/pype/standalonepublish/publish.py index 0473a84720..fcbb6e137d 100644 --- a/pype/standalonepublish/publish.py +++ b/pype/standalonepublish/publish.py @@ -15,8 +15,6 @@ from pypeapp import execute import pyblish.api - - def set_context(project, asset, task, app): ''' Sets context for pyblish (must be done before pyblish is launched) :param project: Name of `Project` where instance should be published @@ -90,15 +88,16 @@ def avalon_api_publish(data, gui=True): "-pp", os.pathsep.join(pyblish.api.registered_paths()) ] - os.environ["PYBLISH_HOSTS"] = "standalonepublisher" - os.environ["SAPUBLISH_INPATH"] = json_data_path + envcopy = os.environ.copy() + envcopy["PYBLISH_HOSTS"] = "standalonepublisher" + envcopy["SAPUBLISH_INPATH"] = json_data_path if gui: av_publish.show() else: returncode = execute([ sys.executable, "-u", "-m", "pyblish" - ] + args, env=os.environ) + ] + args, env=envcopy) io.uninstall() @@ -126,14 +125,15 @@ def cli_publish(data, gui=True): if gui: args += ["gui"] - os.environ["PYBLISH_HOSTS"] = "standalonepublisher" - os.environ["SAPUBLISH_INPATH"] = json_data_path - os.environ["SAPUBLISH_OUTPATH"] = return_data_path - os.environ["PYBLISH_GUI"] = "pyblish_lite" + envcopy = os.environ.copy() + envcopy["PYBLISH_HOSTS"] = "standalonepublisher" + envcopy["SAPUBLISH_INPATH"] = json_data_path + envcopy["SAPUBLISH_OUTPATH"] = return_data_path + envcopy["PYBLISH_GUI"] = "pyblish_lite" returncode = execute([ sys.executable, "-u", "-m", "pyblish" - ] + args, env=os.environ) + ] + args, env=envcopy) result = {} if os.path.exists(json_data_path):