From 830dd068696dc2651f496d97d7fb3c16a335ada9 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 2 Sep 2024 13:39:22 +0200 Subject: [PATCH] added new 'PublishArtistError' --- client/ayon_core/pipeline/__init__.py | 2 + client/ayon_core/pipeline/publish/__init__.py | 2 + .../pipeline/publish/publish_plugins.py | 37 +++++++++++++------ 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/client/ayon_core/pipeline/__init__.py b/client/ayon_core/pipeline/__init__.py index 8fd00ee6b6..513dd10897 100644 --- a/client/ayon_core/pipeline/__init__.py +++ b/client/ayon_core/pipeline/__init__.py @@ -51,6 +51,7 @@ from .load import ( ) from .publish import ( + PublishArtistError, PublishValidationError, PublishXmlValidationError, KnownPublishError, @@ -164,6 +165,7 @@ __all__ = ( "get_repres_contexts", # --- Publish --- + "PublishArtistError", "PublishValidationError", "PublishXmlValidationError", "KnownPublishError", diff --git a/client/ayon_core/pipeline/publish/__init__.py b/client/ayon_core/pipeline/publish/__init__.py index ab19b6e360..cf07d47e9a 100644 --- a/client/ayon_core/pipeline/publish/__init__.py +++ b/client/ayon_core/pipeline/publish/__init__.py @@ -9,6 +9,7 @@ from .publish_plugins import ( AbstractMetaInstancePlugin, AbstractMetaContextPlugin, + PublishArtistError, PublishValidationError, PublishXmlValidationError, KnownPublishError, @@ -62,6 +63,7 @@ __all__ = ( "AbstractMetaInstancePlugin", "AbstractMetaContextPlugin", + "PublishArtistError", "PublishValidationError", "PublishXmlValidationError", "KnownPublishError", diff --git a/client/ayon_core/pipeline/publish/publish_plugins.py b/client/ayon_core/pipeline/publish/publish_plugins.py index 6b1984d92b..ababe1da1e 100644 --- a/client/ayon_core/pipeline/publish/publish_plugins.py +++ b/client/ayon_core/pipeline/publish/publish_plugins.py @@ -25,27 +25,40 @@ class AbstractMetaContextPlugin(ABCMeta, ExplicitMetaPlugin): pass -class PublishValidationError(Exception): - """Validation error happened during publishing. +class PublishArtistError(Exception): + """Publishing crashed because of known error. - This exception should be used when validation publishing failed. - - Has additional UI specific attributes that may be handy for artist. + Message will be shown in UI for artist. Args: - message(str): Message of error. Short explanation an issue. - title(str): Title showed in UI. All instances are grouped under - single title. - description(str): Detailed description of an error. It is possible - to use Markdown syntax. - """ + message (str): Message of error. Short explanation an issue. + title (Optional[str]): Title showed in UI. + description (Optional[str]): Detailed description of an error. + It is possible to use Markdown syntax. + """ def __init__(self, message, title=None, description=None, detail=None): self.message = message self.title = title self.description = description or message self.detail = detail - super(PublishValidationError, self).__init__(message) + super().__init__(message) + + +class PublishValidationError(PublishArtistError): + """Validation error happened during publishing. + + This exception should be used when validation publishing failed. + + Publishing does not stop during validation order if this + exception is raised. + + Has additional UI specific attributes that may be handy for artist. + + Argument 'title' is used to group errors. + + """ + pass class PublishXmlValidationError(PublishValidationError):