From c3452d3594439f813a62bb64c958bcb54198f9d7 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Tue, 12 Nov 2019 17:49:44 +0100 Subject: [PATCH 1/8] feat(global): adding subset grouping ability to integrate new --- pype/plugins/global/publish/integrate_new.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index 4a6edf7442..d3788cd30b 100644 --- a/pype/plugins/global/publish/integrate_new.py +++ b/pype/plugins/global/publish/integrate_new.py @@ -493,7 +493,6 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): filelink.create(src, dst, filelink.HARDLINK) def get_subset(self, asset, instance): - subset = io.find_one({"type": "subset", "parent": asset["_id"], "name": instance.data["subset"]}) @@ -516,6 +515,20 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): subset = io.find_one({"_id": _id}) + # add group if available + if instance.data.get("subsetGroup"): + subset["data"].update( + + ) + io.update_many({ + 'type': 'subset', + '_id': subset["_id"] + }, {'$set': {"data": + {"subsetGroup": instance.data.get("subsetGroup")} + } + } + ) + return subset def create_version(self, subset, version_number, locations, data=None): From 48c4bd21033f9565daab3462c4cd127cbb6631bb Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Tue, 12 Nov 2019 17:50:08 +0100 Subject: [PATCH 2/8] feat(nuke): adding grouping subset to write instances --- pype/plugins/nuke/publish/collect_writes.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pype/plugins/nuke/publish/collect_writes.py b/pype/plugins/nuke/publish/collect_writes.py index 28470c94de..c4e144eac5 100644 --- a/pype/plugins/nuke/publish/collect_writes.py +++ b/pype/plugins/nuke/publish/collect_writes.py @@ -121,7 +121,8 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): "outputType": output_type, "colorspace": node["colorspace"].value(), "deadlineChunkSize": deadlineChunkSize, - "deadlinePriority": deadlinePriority + "deadlinePriority": deadlinePriority, + "subsetGroup": "render" }) self.log.debug("instance.data: {}".format(instance.data)) From cb8aff44a487ceb01a3329173ca71c282ec6f5bd Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 13 Nov 2019 10:07:48 +0100 Subject: [PATCH 3/8] feat(global): integrate new added support for subset group attribute --- pype/plugins/global/publish/integrate_new.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index d3788cd30b..0443e10f57 100644 --- a/pype/plugins/global/publish/integrate_new.py +++ b/pype/plugins/global/publish/integrate_new.py @@ -518,15 +518,12 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): # add group if available if instance.data.get("subsetGroup"): subset["data"].update( - + {"subsetGroup": instance.data.get("subsetGroup")} ) io.update_many({ 'type': 'subset', - '_id': subset["_id"] - }, {'$set': {"data": - {"subsetGroup": instance.data.get("subsetGroup")} - } - } + '_id': io.ObjectId(subset["_id"]) + }, {'$set': subset["data"]} ) return subset From cc866903c852047e70950c72afe5b913d7898b6a Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 13 Nov 2019 10:08:36 +0100 Subject: [PATCH 4/8] fix(nuke): create write family and families mismatch --- pype/plugins/nuke/create/create_write.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pype/plugins/nuke/create/create_write.py b/pype/plugins/nuke/create/create_write.py index 1634af22ab..a8c9c932da 100644 --- a/pype/plugins/nuke/create/create_write.py +++ b/pype/plugins/nuke/create/create_write.py @@ -28,8 +28,8 @@ class CreateWriteRender(plugin.PypeCreator): data = OrderedDict() - data["family"] = self.nClass - data["families"] = self.family + data["family"] = self.family + data["families"] = self.nClass for k, v in self.data.items(): if k not in data.keys(): From 330b9bad87872ea4b3d51eedfbbd3ffbc34262ba Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 13 Nov 2019 10:09:20 +0100 Subject: [PATCH 5/8] fix(nuke): collect instances getting correctly writes family --- pype/plugins/nuke/publish/collect_instances.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pype/plugins/nuke/publish/collect_instances.py b/pype/plugins/nuke/publish/collect_instances.py index 7f2e1566c3..28b11f6550 100644 --- a/pype/plugins/nuke/publish/collect_instances.py +++ b/pype/plugins/nuke/publish/collect_instances.py @@ -58,7 +58,7 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): instance.append(i) node.end() - family = avalon_knob_data["families"] + family = avalon_knob_data["family"] if node["render"].value(): self.log.info("flagged for render") family = "render.local" @@ -67,6 +67,8 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): self.log.info("adding render farm family") family = "render.farm" instance.data['transfer'] = False + else: + family = "render.no" instance.data.update({ "subset": subset, @@ -75,7 +77,7 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): "name": node.name(), "subset": subset, "family": avalon_knob_data["family"], - "families": [avalon_knob_data["family"], family], + "families": [avalon_knob_data["families"], family], "avalonKnob": avalon_knob_data, "publish": node.knob('publish').value(), "step": 1, From 256c23d8ece3a479084f8602ef4a6d213dfd972f Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 13 Nov 2019 10:10:06 +0100 Subject: [PATCH 6/8] feat(nuke): collector are now adding subset group attr to instance --- pype/plugins/nuke/publish/collect_workfile.py | 3 ++- pype/plugins/nuke/publish/collect_writes.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pype/plugins/nuke/publish/collect_workfile.py b/pype/plugins/nuke/publish/collect_workfile.py index fcec97769a..aaee554fbf 100644 --- a/pype/plugins/nuke/publish/collect_workfile.py +++ b/pype/plugins/nuke/publish/collect_workfile.py @@ -78,7 +78,8 @@ class CollectWorkfile(pyblish.api.ContextPlugin): "publish": root.knob('publish').value(), "family": family, "families": [family], - "representations": list() + "representations": list(), + "subsetGroup": "workfiles" }) # adding basic script data diff --git a/pype/plugins/nuke/publish/collect_writes.py b/pype/plugins/nuke/publish/collect_writes.py index c4e144eac5..ba8a0534b1 100644 --- a/pype/plugins/nuke/publish/collect_writes.py +++ b/pype/plugins/nuke/publish/collect_writes.py @@ -95,7 +95,7 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): "frameEnd": last_frame - handle_end, "version": int(version), "colorspace": node["colorspace"].value(), - "families": [instance.data["family"]], + "families": [instance.data["family"]] + instance.data["families"], "subset": instance.data["subset"], "fps": instance.context.data["fps"] } @@ -122,7 +122,7 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): "colorspace": node["colorspace"].value(), "deadlineChunkSize": deadlineChunkSize, "deadlinePriority": deadlinePriority, - "subsetGroup": "render" + "subsetGroup": "renders" }) self.log.debug("instance.data: {}".format(instance.data)) From 561c54cab29c785ae54071b2f0e24b8b67ab60cd Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 13 Nov 2019 10:11:18 +0100 Subject: [PATCH 7/8] fix(nuke): validators change to correct `render` family --- pype/plugins/nuke/publish/validate_write_bounding_box.py | 2 +- pype/plugins/nuke/publish/validate_write_deadline_tab.py | 2 +- pype/plugins/nuke/publish/validate_write_nodes.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pype/plugins/nuke/publish/validate_write_bounding_box.py b/pype/plugins/nuke/publish/validate_write_bounding_box.py index cedeea6d9f..417d4ab004 100644 --- a/pype/plugins/nuke/publish/validate_write_bounding_box.py +++ b/pype/plugins/nuke/publish/validate_write_bounding_box.py @@ -57,7 +57,7 @@ class ValidateNukeWriteBoundingBox(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder optional = True - families = ["write"] + families = ["render"] label = "Write Bounding Box" hosts = ["nuke"] actions = [RepairNukeBoundingBoxAction] diff --git a/pype/plugins/nuke/publish/validate_write_deadline_tab.py b/pype/plugins/nuke/publish/validate_write_deadline_tab.py index 4e63e14a7f..0510bdaebf 100644 --- a/pype/plugins/nuke/publish/validate_write_deadline_tab.py +++ b/pype/plugins/nuke/publish/validate_write_deadline_tab.py @@ -39,7 +39,7 @@ class ValidateNukeWriteDeadlineTab(pyblish.api.InstancePlugin): label = "Deadline Tab" hosts = ["nuke"] optional = True - families = ["write"] + families = ["render"] actions = [RepairNukeWriteDeadlineTab] def process(self, instance): diff --git a/pype/plugins/nuke/publish/validate_write_nodes.py b/pype/plugins/nuke/publish/validate_write_nodes.py index 564c912a7a..836cee6c8f 100644 --- a/pype/plugins/nuke/publish/validate_write_nodes.py +++ b/pype/plugins/nuke/publish/validate_write_nodes.py @@ -26,7 +26,7 @@ class ValidateNukeWriteNode(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder optional = True - families = ["write"] + families = ["render"] label = "Write Node" actions = [RepairNukeWriteNodeAction] hosts = ["nuke"] From a03e486265e08779d14bf865fd813025a8549950 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 13 Nov 2019 10:12:29 +0100 Subject: [PATCH 8/8] fix(nuke): validate render frames correct family if `no` render --- pype/plugins/nuke/publish/validate_rendered_frames.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/plugins/nuke/publish/validate_rendered_frames.py b/pype/plugins/nuke/publish/validate_rendered_frames.py index 3887b5d5b7..e244a9b4b6 100644 --- a/pype/plugins/nuke/publish/validate_rendered_frames.py +++ b/pype/plugins/nuke/publish/validate_rendered_frames.py @@ -28,7 +28,7 @@ class ValidateRenderedFrames(pyblish.api.InstancePlugin): """ Validates file output. """ order = pyblish.api.ValidatorOrder + 0.1 - families = ["render"] + families = ["render.no"] label = "Validate rendered frame" hosts = ["nuke", "nukestudio"]