Skip to content

validate_instance_subset

ValidateSubsetName

Bases: MayaInstancePlugin

Validates product name has only valid characters

Source code in client/ayon_maya/plugins/publish/validate_instance_subset.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class ValidateSubsetName(plugin.MayaInstancePlugin):
    """Validates product name has only valid characters"""

    order = ValidateContentsOrder
    families = ["*"]
    label = "Product Name"

    def process(self, instance):

        product_name = instance.data.get("productName", None)

        # Ensure product data
        if product_name is None:
            raise PublishValidationError(
                "Instance is missing product name: {0}".format(product_name)
            )

        if not isinstance(product_name, str):
            raise PublishValidationError((
                "Instance product name must be string, got: {0} ({1})"
            ).format(product_name, type(product_name)))

        # Ensure is not empty product
        if not product_name:
            raise PublishValidationError(
                "Instance product name is empty: {0}".format(product_name)
            )

        # Validate product characters
        if not validate_name(product_name):
            raise PublishValidationError((
                "Instance product name contains invalid characters: {0}"
            ).format(product_name))