diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index 4a6edf7442..0443e10f57 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,17 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): subset = io.find_one({"_id": _id}) + # add group if available + if instance.data.get("subsetGroup"): + subset["data"].update( + {"subsetGroup": instance.data.get("subsetGroup")} + ) + io.update_many({ + 'type': 'subset', + '_id': io.ObjectId(subset["_id"]) + }, {'$set': subset["data"]} + ) + return subset def create_version(self, subset, version_number, locations, data=None): 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(): 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, 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 28470c94de..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"] } @@ -121,7 +121,8 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): "outputType": output_type, "colorspace": node["colorspace"].value(), "deadlineChunkSize": deadlineChunkSize, - "deadlinePriority": deadlinePriority + "deadlinePriority": deadlinePriority, + "subsetGroup": "renders" }) self.log.debug("instance.data: {}".format(instance.data)) 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"] 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"]