From e35e4f1899e364e050986cc49696908b6b73be45 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Tue, 29 Oct 2019 14:42:45 +0100 Subject: [PATCH] fix families in subset publishing --- pype/plugins/global/publish/integrate_new.py | 7 +++++-- pype/plugins/maya/publish/collect_instances.py | 6 ++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index 196990fc82..ad7be306ca 100644 --- a/pype/plugins/global/publish/integrate_new.py +++ b/pype/plugins/global/publish/integrate_new.py @@ -485,13 +485,16 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): if subset is None: subset_name = instance.data["subset"] self.log.info("Subset '%s' not found, creating.." % subset_name) + self.log.debug("families. %s" % instance.data.get('families')) + self.log.debug("families. %s" % type(instance.data.get('families'))) _id = io.insert_one({ "schema": "pype:subset-3.0", "type": "subset", "name": subset_name, - "families": instance.data.get('families'), - "data": {}, + "data": { + "families": instance.data.get('families') + }, "parent": asset["_id"] }).inserted_id diff --git a/pype/plugins/maya/publish/collect_instances.py b/pype/plugins/maya/publish/collect_instances.py index f17072a505..39d7bcd86d 100644 --- a/pype/plugins/maya/publish/collect_instances.py +++ b/pype/plugins/maya/publish/collect_instances.py @@ -93,6 +93,9 @@ class CollectInstances(pyblish.api.ContextPlugin): parents = self.get_all_parents(members) members_hierarchy = list(set(members + children + parents)) + if 'families' not in data: + data['families'] = [data.get('family')] + # Create the instance instance = context.create_instance(objset) instance[:] = members_hierarchy @@ -100,6 +103,7 @@ class CollectInstances(pyblish.api.ContextPlugin): # Store the exact members of the object set instance.data["setMembers"] = members + # Define nice label name = cmds.ls(objset, long=False)[0] # use short name label = "{0} ({1})".format(name, @@ -117,6 +121,8 @@ class CollectInstances(pyblish.api.ContextPlugin): # Produce diagnostic message for any graphical # user interface interested in visualising it. self.log.info("Found: \"%s\" " % instance.data["name"]) + self.log.debug("DATA: \"%s\" " % instance.data) + def sort_by_family(instance): """Sort by family"""