From 722b3a5d63a623ed46700528692c1dad020edfd9 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Tue, 23 Jul 2024 09:53:21 +0200 Subject: [PATCH] fix label calculation --- .../plugins/publish/integrate_review.py | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/client/ayon_core/plugins/publish/integrate_review.py b/client/ayon_core/plugins/publish/integrate_review.py index a5979e3b1c..6a79e72c1e 100644 --- a/client/ayon_core/plugins/publish/integrate_review.py +++ b/client/ayon_core/plugins/publish/integrate_review.py @@ -64,8 +64,7 @@ class IntegrateAYONReview(pyblish.api.InstancePlugin): self.log.warning("Could not determine Content-Type") continue - # Use output name as label if available - label = repre.get("outputName") + label = self._get_review_label(repre, uploaded_labels) query = "" if label: query = f"?label={label}" @@ -74,14 +73,6 @@ class IntegrateAYONReview(pyblish.api.InstancePlugin): f"/projects/{project_name}" f"/versions/{version_id}/reviewables{query}" ) - # Make sure label is unique - orig_label = label - idx = 0 - while label in uploaded_labels: - idx += 1 - label = f"{orig_label}_{idx}" - - uploaded_labels.add(label) # Upload the reviewable self.log.info(f"Uploading reviewable '{label}' ...") @@ -94,4 +85,16 @@ class IntegrateAYONReview(pyblish.api.InstancePlugin): repre_path, headers=headers, request_type=RequestTypes.post, - ) \ No newline at end of file + ) + + def _get_review_label(self, repre, uploaded_labels): + # Use output name as label if available + label = repre.get("outputName") + if not label: + return None + orig_label = label + idx = 0 + while label in uploaded_labels: + idx += 1 + label = f"{orig_label}_{idx}" + return label