diff --git a/openpype/pipeline/publish_plugins.py b/openpype/pipeline/publish_plugins.py index 1027a5e20f..45676f50c6 100644 --- a/openpype/pipeline/publish_plugins.py +++ b/openpype/pipeline/publish_plugins.py @@ -10,6 +10,20 @@ log = Logger.get_logger(__name__) class OpenPypePyblishPluginMixin: executable_in_thread = False + state_message = None + state_percent = None + _state_change_callbacks = [] + @classmethod def get_family_attribute_defs(cls, family): return None + + def set_state(self, percent=None, message=None): + if percent is not None: + self.state_percent = percent + + if message: + self.state_message = message + + for callback in self._state_change_callbacks: + callback(self)