From 5e7ce9816d9ecee6cee06f34eb60775e6c849909 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 26 Jun 2020 11:07:54 +0300 Subject: [PATCH 1/4] fix(celaction): adding hosts into imports --- pype/hosts/celaction/cli.py | 4 ++-- pype/modules/adobe_communicator/lib/publish.py | 2 +- .../plugins/celaction/publish/collect_celaction_cli_kwargs.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pype/hosts/celaction/cli.py b/pype/hosts/celaction/cli.py index fa55db3200..8cf2bcc791 100644 --- a/pype/hosts/celaction/cli.py +++ b/pype/hosts/celaction/cli.py @@ -11,7 +11,7 @@ import pyblish.util from pype.api import Logger import pype -import pype.celaction +from pype.hosts import celaction log = Logger().get_logger("Celaction_cli_publisher") @@ -49,7 +49,7 @@ def cli(): # parser.add_argument("--programDir", # help=("Directory with celaction program installation")) - pype.celaction.kwargs = parser.parse_args(sys.argv[1:]).__dict__ + celaction.kwargs = parser.parse_args(sys.argv[1:]).__dict__ def _prepare_publish_environments(): diff --git a/pype/modules/adobe_communicator/lib/publish.py b/pype/modules/adobe_communicator/lib/publish.py index 6a9faf0403..b222a1bd59 100644 --- a/pype/modules/adobe_communicator/lib/publish.py +++ b/pype/modules/adobe_communicator/lib/publish.py @@ -18,7 +18,7 @@ def main(env): # Register Host (and it's pyblish plugins) host_name = env["AVALON_APP"] # TODO not sure if use "pype." or "avalon." for host import - host_import_str = f"pype.{host_name}" + host_import_str = f"pype.hosts.{host_name}" try: host_module = importlib.import_module(host_import_str) diff --git a/pype/plugins/celaction/publish/collect_celaction_cli_kwargs.py b/pype/plugins/celaction/publish/collect_celaction_cli_kwargs.py index 5042a7b700..f4a9ec341d 100644 --- a/pype/plugins/celaction/publish/collect_celaction_cli_kwargs.py +++ b/pype/plugins/celaction/publish/collect_celaction_cli_kwargs.py @@ -1,5 +1,5 @@ import pyblish.api -import pype.celaction +from pype.hosts import celaction class CollectCelactionCliKwargs(pyblish.api.Collector): @@ -9,7 +9,7 @@ class CollectCelactionCliKwargs(pyblish.api.Collector): order = pyblish.api.Collector.order - 0.1 def process(self, context): - kwargs = pype.celaction.kwargs.copy() + kwargs = celaction.kwargs.copy() self.log.info("Storing kwargs: %s" % kwargs) context.set_data("kwargs", kwargs) From 18742dcd8031a8fa007056ce0a728b56131747a0 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 26 Jun 2020 11:08:54 +0300 Subject: [PATCH 2/4] fix(celaction): resolution assigning from missing asset attr problem --- .../publish/collect_celaction_instances.py | 9 ++++++-- .../celaction/publish/collect_render_path.py | 21 +++++++++++-------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/pype/plugins/celaction/publish/collect_celaction_instances.py b/pype/plugins/celaction/publish/collect_celaction_instances.py index aa2bb5da5d..431ab722d3 100644 --- a/pype/plugins/celaction/publish/collect_celaction_instances.py +++ b/pype/plugins/celaction/publish/collect_celaction_instances.py @@ -16,6 +16,7 @@ class CollectCelactionInstances(pyblish.api.ContextPlugin): scene_file = os.path.basename(current_file) version = context.data["version"] asset_entity = context.data["assetEntity"] + project_entity = context.data["projectEntity"] shared_instance_data = { "asset": asset_entity["name"], @@ -24,8 +25,12 @@ class CollectCelactionInstances(pyblish.api.ContextPlugin): "handleStart": asset_entity["data"]["handleStart"], "handleEnd": asset_entity["data"]["handleEnd"], "fps": asset_entity["data"]["fps"], - "resolutionWidth": asset_entity["data"]["resolutionWidth"], - "resolutionHeight": asset_entity["data"]["resolutionHeight"], + "resolutionWidth": asset_entity["data"].get( + "resolutionWidth", + project_entity["data"]["resolutionWidth"]), + "resolutionHeight": asset_entity["data"].get( + "resolutionHeight", + project_entity["data"]["resolutionHeight"]), "pixelAspect": 1, "step": 1, "version": version diff --git a/pype/plugins/celaction/publish/collect_render_path.py b/pype/plugins/celaction/publish/collect_render_path.py index cddd2643d8..d5fe6c07a5 100644 --- a/pype/plugins/celaction/publish/collect_render_path.py +++ b/pype/plugins/celaction/publish/collect_render_path.py @@ -1,5 +1,6 @@ import os import pyblish.api +import copy class CollectRenderPath(pyblish.api.InstancePlugin): @@ -7,19 +8,21 @@ class CollectRenderPath(pyblish.api.InstancePlugin): label = "Collect Render Path" order = pyblish.api.CollectorOrder + 0.495 + families = ["render.farm"] def process(self, instance): anatomy = instance.context.data["anatomy"] - current_file = instance.context.data["currentFile"] - work_dir = os.path.dirname(current_file) + anatomy_data = copy.deepcopy(instance.data["anatomyData"]) padding = anatomy.templates.get("frame_padding", 4) - render_dir = os.path.join( - work_dir, "render", "celaction" - ) - render_path = os.path.join( - render_dir, - ".".join([instance.data["subset"], f"%0{padding}d", "png"]) - ) + anatomy_data.update({ + "frame": f"%0{padding}d", + "representation": "png" + }) + + anatomy_filled = anatomy.format(anatomy_data) + + render_dir = anatomy_filled["render_tmp"]["folder"] + render_path = anatomy_filled["render_tmp"]["path"] # create dir if it doesnt exists os.makedirs(render_dir, exist_ok=True) From 84f1907da4fa80b54753b716e73bc695f8363ee0 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 26 Jun 2020 11:09:33 +0300 Subject: [PATCH 3/4] fix(global): removing obsolete "PYPE_PYTHON_EXE" --- pype/plugins/global/publish/submit_publish_job.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pype/plugins/global/publish/submit_publish_job.py b/pype/plugins/global/publish/submit_publish_job.py index 82de2ec099..30ba526caf 100644 --- a/pype/plugins/global/publish/submit_publish_job.py +++ b/pype/plugins/global/publish/submit_publish_job.py @@ -166,8 +166,7 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): "FTRACK_SERVER", "PYPE_METADATA_FILE", "AVALON_PROJECT", - "PYPE_LOG_NO_COLORS", - "PYPE_PYTHON_EXE" + "PYPE_LOG_NO_COLORS" ] # custom deadline atributes From 6b3f950dcf1f7458895196de9287cde4b9bf7302 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 26 Jun 2020 11:10:10 +0300 Subject: [PATCH 4/4] fix(celaciton): adding missing ftrack envs --- .../publish/submit_celaction_deadline.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pype/plugins/celaction/publish/submit_celaction_deadline.py b/pype/plugins/celaction/publish/submit_celaction_deadline.py index 0bb346f7cf..c749ec111f 100644 --- a/pype/plugins/celaction/publish/submit_celaction_deadline.py +++ b/pype/plugins/celaction/publish/submit_celaction_deadline.py @@ -27,6 +27,12 @@ class ExtractCelactionDeadline(pyblish.api.InstancePlugin): deadline_group = "" deadline_chunk_size = 1 + enviro_filter = [ + "FTRACK_API_USER", + "FTRACK_API_KEY", + "FTRACK_SERVER" + ] + def process(self, instance): context = instance.context @@ -155,6 +161,19 @@ class ExtractCelactionDeadline(pyblish.api.InstancePlugin): plugin = payload["JobInfo"]["Plugin"] self.log.info("using render plugin : {}".format(plugin)) + i = 0 + for key, values in dict(os.environ).items(): + if key.upper() in self.enviro_filter: + payload["JobInfo"].update( + { + "EnvironmentKeyValue%d" + % i: "{key}={value}".format( + key=key, value=values + ) + } + ) + i += 1 + self.log.info("Submitting..") self.log.info(json.dumps(payload, indent=4, sort_keys=True))