From ca693c1666aa0e69e92193aee62781bd7dc20be1 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Mon, 10 Jan 2022 12:14:39 +0100 Subject: [PATCH] flame: fixing creator plugin operation after refactory --- openpype/hosts/flame/api/plugin.py | 27 ++++++++++++++----- .../flame/plugins/create/create_shot_clip.py | 14 +++++----- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/openpype/hosts/flame/api/plugin.py b/openpype/hosts/flame/api/plugin.py index f2e67749f2..7432d61890 100644 --- a/openpype/hosts/flame/api/plugin.py +++ b/openpype/hosts/flame/api/plugin.py @@ -17,6 +17,7 @@ class CreatorWidget(QtWidgets.QDialog): # output items items = dict() + _results_back = None def __init__(self, name, info, ui_inputs, parent=None): super(CreatorWidget, self).__init__(parent) @@ -88,18 +89,27 @@ class CreatorWidget(QtWidgets.QDialog): self.setStyleSheet(style.load_stylesheet()) + @classmethod + def set_results_back(cls, value): + cls._results_back = value + + @classmethod + def get_results_back(cls): + return cls._results_back + def _on_ok_clicked(self): log.debug("ok is clicked: {}".format(self.items)) - self.result = self._values(self.items) + results_back = self._values(self.items) + self.set_results_back(results_back) self.close() def _on_cancel_clicked(self): - self.result = None + self.set_results_back(None) self.close() - def closeEvent(self, event): - self.result = None - event.accept() + def showEvent(self, event): + self.set_results_back(None) + super(CreatorWidget, self).showEvent(event) def _values(self, data, new_data=None): new_data = new_data or dict() @@ -303,7 +313,9 @@ class Creator(openpype.Creator): self.selected = flib.get_sequence_segments(self.sequence) def create_widget(self, *args, **kwargs): - return CreatorWidget(*args, **kwargs) + widget = CreatorWidget(*args, **kwargs) + widget.exec_() + return widget.get_results_back() class PublishableClip: @@ -344,6 +356,7 @@ class PublishableClip: def __init__(self, segment, **kwargs): self.rename_index = kwargs["rename_index"] + self.family = kwargs["family"] self.log = kwargs["log"] # get main parent objects @@ -580,7 +593,7 @@ class PublishableClip: "hierarchyData": hierarchy_formating_data, "subset": self.subset, "family": self.subset_family, - "families": [self.data["family"]] + "families": [self.family] } def _convert_to_entity(self, type, template): diff --git a/openpype/hosts/flame/plugins/create/create_shot_clip.py b/openpype/hosts/flame/plugins/create/create_shot_clip.py index 123a1c1575..edc3e7176c 100644 --- a/openpype/hosts/flame/plugins/create/create_shot_clip.py +++ b/openpype/hosts/flame/plugins/create/create_shot_clip.py @@ -1,8 +1,6 @@ from copy import deepcopy import openpype.hosts.flame.api as opfapi -reload(opfapi) # noqa - class CreateShotClip(opfapi.Creator): """Publishable clip""" @@ -32,22 +30,21 @@ class CreateShotClip(opfapi.Creator): gui_inputs[k]["value"] = presets[k] # open widget for plugins inputs - widget = self.create_widget( + results_back = self.create_widget( "Pype publish attributes creator", "Define sequential rename and fill hierarchy data.", gui_inputs ) - widget.exec_() if len(self.selected) < 1: return - if not widget.result: + if not results_back: print("Operation aborted") return # get ui output for track name for vertical sync - v_sync_track = widget.result["vSyncTrack"]["value"] + v_sync_track = results_back["vSyncTrack"]["value"] # sort selected trackItems by sorted_selected_segments = [] @@ -62,8 +59,9 @@ class CreateShotClip(opfapi.Creator): kwargs = { "log": self.log, - "ui_inputs": widget.result, - "avalon": self.data + "ui_inputs": results_back, + "avalon": self.data, + "family": self.data["family"] } for i, segment in enumerate(sorted_selected_segments):