diff --git a/openpype/hosts/maya/plugins/publish/validate_no_namespace.py b/openpype/hosts/maya/plugins/publish/validate_no_namespace.py index 0ff03f9165..13eeae5859 100644 --- a/openpype/hosts/maya/plugins/publish/validate_no_namespace.py +++ b/openpype/hosts/maya/plugins/publish/validate_no_namespace.py @@ -4,11 +4,19 @@ import pyblish.api from openpype.pipeline.publish import ( RepairAction, ValidateContentsOrder, + PublishValidationError ) import openpype.hosts.maya.api.action +def _as_report_list(values, prefix="- ", suffix="\n"): + """Return list as bullet point list for a report""" + if not values: + return "" + return prefix + (suffix + prefix).join(values) + + def get_namespace(node_name): # ensure only node's name (not parent path) node_name = node_name.rsplit("|", 1)[-1] @@ -36,7 +44,12 @@ class ValidateNoNamespace(pyblish.api.InstancePlugin): invalid = self.get_invalid(instance) if invalid: - raise ValueError("Namespaces found: {0}".format(invalid)) + raise PublishValidationError( + "Namespaces found:\n\n{0}".format( + _as_report_list(sorted(invalid)) + ), + title="Namespaces in model" + ) @classmethod def repair(cls, instance):