From 53037634b9d0dcbfa084f53e232853b5124bc01e Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Wed, 23 Oct 2019 22:48:17 +0200 Subject: [PATCH] fixes for ftrack and renderlayers --- .../global/publish/collect_filesequences.py | 6 +++++ .../global/publish/submit_publish_job.py | 8 +++++++ .../maya/publish/submit_maya_muster.py | 24 +++++++++++++------ .../maya/publish/validate_rendersettings.py | 8 +++---- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/pype/plugins/global/publish/collect_filesequences.py b/pype/plugins/global/publish/collect_filesequences.py index 73f3a459c8..39481e216b 100644 --- a/pype/plugins/global/publish/collect_filesequences.py +++ b/pype/plugins/global/publish/collect_filesequences.py @@ -131,6 +131,12 @@ class CollectRenderedFrames(pyblish.api.ContextPlugin): else: root = cwd + if data.get("ftrack"): + f = data.get("ftrack") + os.environ["FTRACK_API_USER"] = f["FTRACK_API_USER"] + os.environ["FTRACK_API_KEY"] = f["FTRACK_API_KEY"] + os.environ["FTRACK_SERVER"] = f["FTRACK_SERVER"] + metadata = data.get("metadata") if metadata: session = metadata.get("session") diff --git a/pype/plugins/global/publish/submit_publish_job.py b/pype/plugins/global/publish/submit_publish_job.py index 11d4dc33eb..0130eaf0c4 100644 --- a/pype/plugins/global/publish/submit_publish_job.py +++ b/pype/plugins/global/publish/submit_publish_job.py @@ -297,6 +297,14 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): } } + if submission_type == "muster": + ftrack = { + "FTRACK_API_USER": os.environ.get("FTRACK_API_USER"), + "FTRACK_API_KEY": os.environ.get("FTRACK_API_KEY"), + "FTRACK_SERVER": os.environ.get("FTRACK_SERVER") + } + metadata.update({"ftrack": ftrack}) + # Ensure output dir exists output_dir = instance.data["outputDir"] if not os.path.isdir(output_dir): diff --git a/pype/plugins/maya/publish/submit_maya_muster.py b/pype/plugins/maya/publish/submit_maya_muster.py index 22da978d3f..2fb760eddf 100644 --- a/pype/plugins/maya/publish/submit_maya_muster.py +++ b/pype/plugins/maya/publish/submit_maya_muster.py @@ -114,7 +114,7 @@ def preview_fname(folder, scene, layer, padding, ext): """ # Following hardcoded "/_/" - output = "{scene}/{layer}/{layer}.{number}.{ext}".format( + output = "maya/{scene}/{layer}/{layer}.{number}.{ext}".format( scene=scene, layer=layer, number="#" * padding, @@ -295,6 +295,7 @@ class MayaSubmitMuster(pyblish.api.InstancePlugin): ext=render_variables["ext"]) instance.data["outputDir"] = os.path.dirname(output_filename_0) + self.log.debug("output: {}".format(filepath)) # build path for metadata file metadata_filename = "{}_metadata.json".format(instance.data["subset"]) output_dir = instance.data["outputDir"] @@ -313,9 +314,11 @@ class MayaSubmitMuster(pyblish.api.InstancePlugin): # python named MPython.exe, residing directly in muster bin # directory. if platform.system().lower() == "windows": - muster_python = "MPython.exe" + # for muster, those backslashes must be escaped twice + muster_python = ("\"C:\\\\Program Files\\\\Virtual Vertex\\\\" + "Muster 9\\\\MPython.exe\"") else: - muster_python = "mpython" + muster_python = "/usr/local/muster9/mpython" # build the path and argument. We are providing separate --pype # argument with network path to pype as post job actions are run @@ -323,8 +326,13 @@ class MayaSubmitMuster(pyblish.api.InstancePlugin): # inherit environment from publisher including PATH, so there's # no problem finding PYPE, but there is now way (as far as I know) # to set environment dynamically for dispatcher. Therefor this hack. - args = [muster_python, _get_script(), "--paths", metadata_path, - "--pype", pype_root] + args = [muster_python, + _get_script().replace('\\', '\\\\'), + "--paths", + metadata_path.replace('\\', '\\\\'), + "--pype", + pype_root.replace('\\', '\\\\')] + postjob_command = " ".join(args) try: @@ -358,7 +366,9 @@ class MayaSubmitMuster(pyblish.api.InstancePlugin): "jobId": -1, "startOn": 0, "parentId": -1, - "project": scene, + "project": os.environ.get('AVALON_PROJECT') or scene, + "shot": os.environ.get('AVALON_ASSET') or scene, + "camera": instance.data.get("cameras")[0], "dependMode": 0, "packetSize": 4, "packetType": 1, @@ -426,7 +436,7 @@ class MayaSubmitMuster(pyblish.api.InstancePlugin): "subst": False }, "ADD_FLAGS": { - "value": "", + "value": "-rl {}".format(renderlayer), "state": True, "subst": True } diff --git a/pype/plugins/maya/publish/validate_rendersettings.py b/pype/plugins/maya/publish/validate_rendersettings.py index b949cfdca6..7bf44710e2 100644 --- a/pype/plugins/maya/publish/validate_rendersettings.py +++ b/pype/plugins/maya/publish/validate_rendersettings.py @@ -12,8 +12,8 @@ class ValidateRenderSettings(pyblish.api.InstancePlugin): """Validates the global render settings * File Name Prefix must be as followed: - * vray: maya// - * default: maya//_ + * vray: maya/// + * default: maya///_ * Frame Padding must be: * default: 4 @@ -36,8 +36,8 @@ class ValidateRenderSettings(pyblish.api.InstancePlugin): actions = [pype.api.RepairAction] DEFAULT_PADDING = 4 - RENDERER_PREFIX = {"vray": "maya//"} - DEFAULT_PREFIX = "maya//_" + RENDERER_PREFIX = {"vray": "maya///"} + DEFAULT_PREFIX = "maya///_" def process(self, instance):