diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index 0ec8045448..6d5c693b79 100644 --- a/pype/plugins/global/publish/integrate_new.py +++ b/pype/plugins/global/publish/integrate_new.py @@ -144,6 +144,8 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): if task_name: anatomy_data["task"] = task_name + anatomy_data["family"] = instance.data.get("family") + stagingdir = instance.data.get("stagingDir") if not stagingdir: self.log.info(( diff --git a/pype/plugins/global/publish/submit_publish_job.py b/pype/plugins/global/publish/submit_publish_job.py index 7a73e921e2..10c01886fa 100644 --- a/pype/plugins/global/publish/submit_publish_job.py +++ b/pype/plugins/global/publish/submit_publish_job.py @@ -686,13 +686,6 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin): if item in instance.data.get("families", []): instance_skeleton_data["families"] += [item] - if "render.farm" in instance.data["families"]: - instance_skeleton_data.update({ - "family": "render2d", - "families": ["render"] + [f for f in instance.data["families"] - if "render.farm" not in f] - }) - # transfer specific properties from original instance based on # mapping dictionary `instance_transfer` for key, values in self.instance_transfer.items(): diff --git a/pype/plugins/nuke/publish/collect_instances.py b/pype/plugins/nuke/publish/collect_instances.py index 54891d189c..0bbede11c0 100644 --- a/pype/plugins/nuke/publish/collect_instances.py +++ b/pype/plugins/nuke/publish/collect_instances.py @@ -55,6 +55,12 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): families_ak = avalon_knob_data.get("families") families = list() + if families_ak: + families.append(families_ak) + + families.append(family) + + # except disabled nodes but exclude backdrops in test if ("nukenodes" not in family) and (node["disable"].value()): continue @@ -70,18 +76,19 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): if node.Class() == "Group": # only alter families for render family if "write" in families_ak: + if node["render"].value(): self.log.info("flagged for render") - add_family = "{}.local".format(family) + add_family = "{}.local".format("render") # dealing with local/farm rendering if node["render_farm"].value(): self.log.info("adding render farm family") - add_family = "{}.farm".format(family) + add_family = "{}.farm".format("render") instance.data["transfer"] = False families.append(add_family) - else: - # add family into families - families.insert(0, family) + if "render" in families: + families.remove("render") + family = "write" node.begin() for i in nuke.allNodes(): @@ -90,10 +97,6 @@ class CollectNukeInstances(pyblish.api.ContextPlugin): self.log.debug("__ families: `{}`".format(families)) - if families_ak: - families.append(families_ak) - else: - families.append(family) # Get format format = root['format'].value() diff --git a/pype/plugins/nuke/publish/collect_writes.py b/pype/plugins/nuke/publish/collect_writes.py index c70953d23f..fb00aeb1ae 100644 --- a/pype/plugins/nuke/publish/collect_writes.py +++ b/pype/plugins/nuke/publish/collect_writes.py @@ -118,7 +118,6 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): "colorspace": node["colorspace"].value(), } - instance.data["family"] = "write" group_node = [x for x in instance if x.Class() == "Group"][0] deadlineChunkSize = 1 if "deadlineChunkSize" in group_node.knobs(): @@ -128,8 +127,6 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): if "deadlinePriority" in group_node.knobs(): deadlinePriority = group_node["deadlinePriority"].value() - families = [f for f in instance.data["families"] if "write" not in f] - instance.data.update({ "versionData": version_data, "path": path, @@ -143,18 +140,12 @@ class CollectNukeWrites(pyblish.api.InstancePlugin): "frameStartHandle": first_frame, "frameEndHandle": last_frame, "outputType": output_type, - "family": "write", "families": families, "colorspace": node["colorspace"].value(), "deadlineChunkSize": deadlineChunkSize, "deadlinePriority": deadlinePriority }) - if "render" in families: - instance.data["family"] = "render2d" - if "render" not in families: - instance.data["families"].insert(0, "render") - if "prerender" in families: instance.data.update({ "family": "prerender", diff --git a/pype/plugins/nuke/publish/extract_render_local.py b/pype/plugins/nuke/publish/extract_render_local.py index 37a6701380..79662d62a8 100644 --- a/pype/plugins/nuke/publish/extract_render_local.py +++ b/pype/plugins/nuke/publish/extract_render_local.py @@ -82,9 +82,9 @@ class NukeRenderLocal(pype.api.Extractor): # redefinition of families if "render.local" in families: - instance.data['family'] = 'render2d' + instance.data['family'] = 'render' families.remove('render.local') - families.insert(0, "render") + families.insert(0, "render2d") elif "prerender.local" in families: instance.data['family'] = 'prerender' families.remove('prerender.local') @@ -99,4 +99,5 @@ class NukeRenderLocal(pype.api.Extractor): instance.data['collection'] = collection self.log.info('Finished render') - return + + self.log.debug("instance extracted: {}".format(instance.data))