From 8b33b22d3081d7bd876d1930509f759d9e460caa Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Sat, 7 Dec 2019 13:03:44 +0100 Subject: [PATCH] create _id in representation before insert to DB to not require query them after --- pype/plugins/global/publish/integrate_new.py | 5 +++-- pype/plugins/global/publish/integrate_thumbnail.py | 14 +++----------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index cc71fce49e..3422c95d73 100644 --- a/pype/plugins/global/publish/integrate_new.py +++ b/pype/plugins/global/publish/integrate_new.py @@ -385,6 +385,7 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): self.log.debug("__ dst: {}".format(dst)) representation = { + "_id": io.ObjectId(), "schema": "pype:representation-2.0", "type": "representation", "parent": version_id, @@ -423,8 +424,8 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): for rep in instance.data["representations"]: self.log.debug("__ represNAME: {}".format(rep['name'])) self.log.debug("__ represPATH: {}".format(rep['published_path'])) - result = io.insert_many(representations) - instance.data["published_representation_ids"] = result.inserted_ids + io.insert_many(representations) + instance.data["published_representations"] = representations # self.log.debug("Representation: {}".format(representations)) self.log.info("Registered {} items".format(len(representations))) diff --git a/pype/plugins/global/publish/integrate_thumbnail.py b/pype/plugins/global/publish/integrate_thumbnail.py index 08157187df..bf6c62155f 100644 --- a/pype/plugins/global/publish/integrate_thumbnail.py +++ b/pype/plugins/global/publish/integrate_thumbnail.py @@ -19,8 +19,8 @@ class IntegrateThumbnails(pyblish.api.InstancePlugin): families = ["review"] def process(self, instance): - repre_ids = instance.data.get("published_representation_ids") - if not repre_ids: + published_repres = instance.data.get("published_representations") + if not published_repres: self.log.debug( "There are not published representation ids on the instance." ) @@ -40,17 +40,9 @@ class IntegrateThumbnails(pyblish.api.InstancePlugin): thumbnail_template = anatomy.templates["publish"]["thumbnail"] io.install() - repres = io.find({ - "_id": {"$in": repre_ids}, - "type": "representation" - }) - if not repres: - raise AssertionError(( - "There are not representations in database with ids {}" - ).format(str(repre_ids))) thumb_repre = None - for repre in repres: + for repre in published_repres: if repre["name"].lower() == "thumbnail": thumb_repre = repre break