From 1263d969e04cbca7f830808e9416d6b90bdda4e9 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Tue, 23 Nov 2021 14:39:27 +0100 Subject: [PATCH] fix container id uniqueness for each class instance --- openpype/hosts/nuke/api/plugin.py | 14 ++++++++++---- openpype/hosts/nuke/plugins/load/load_clip.py | 3 +++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/nuke/api/plugin.py b/openpype/hosts/nuke/api/plugin.py index 62eadecaf4..707345e9b9 100644 --- a/openpype/hosts/nuke/api/plugin.py +++ b/openpype/hosts/nuke/api/plugin.py @@ -49,8 +49,11 @@ def get_review_presets_config(): class NukeLoader(api.Loader): container_id_knob = "containerId" - container_id = ''.join(random.choice( - string.ascii_uppercase + string.digits) for _ in range(10)) + container_id = None + + def reset_container_id(self): + self.container_id = ''.join(random.choice( + string.ascii_uppercase + string.digits) for _ in range(10)) def get_container_id(self, node): id_knob = node.knobs().get(self.container_id_knob) @@ -67,13 +70,16 @@ class NukeLoader(api.Loader): source_id = self.get_container_id(node) if source_id: - node[self.container_id_knob].setValue(self.container_id) + node[self.container_id_knob].setValue(source_id) else: HIDEN_FLAG = 0x00040000 _knob = anlib.Knobby( "String_Knob", self.container_id, - flags=[nuke.READ_ONLY, HIDEN_FLAG]) + flags=[ + nuke.READ_ONLY, + HIDEN_FLAG + ]) knob = _knob.create(self.container_id_knob) node.addKnob(knob) diff --git a/openpype/hosts/nuke/plugins/load/load_clip.py b/openpype/hosts/nuke/plugins/load/load_clip.py index 8004a4739d..4ad2246e21 100644 --- a/openpype/hosts/nuke/plugins/load/load_clip.py +++ b/openpype/hosts/nuke/plugins/load/load_clip.py @@ -67,6 +67,9 @@ class LoadClip(plugin.NukeLoader): def load(self, context, name, namespace, options): + # reste container id so it is always unique for each instance + self.reset_container_id() + is_sequence = len(context["representation"]["files"]) > 1 file = self.fname.replace("\\", "/")