Skip to content

validate_mkpaths_toggled

ValidateIntermediateDirectoriesChecked

Bases: HoudiniInstancePlugin

Validate Create Intermediate Directories is enabled on ROP node.

Source code in client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class ValidateIntermediateDirectoriesChecked(plugin.HoudiniInstancePlugin):
    """Validate Create Intermediate Directories is enabled on ROP node."""

    order = pyblish.api.ValidatorOrder
    families = ["pointcache", "camera", "vdbcache", "model"]
    label = "Create Intermediate Directories Checked"

    def process(self, instance):

        invalid = self.get_invalid(instance)
        if invalid:
            nodes = "\n".join(f"- {node.path()}" for node in invalid)
            raise PublishValidationError(
                ("Found ROP node with Create Intermediate "
                 "Directories turned off:\n {}".format(nodes)),
                title=self.label)

    @classmethod
    def get_invalid(cls, instance):

        result = []

        for node in instance[:]:
            if node.parm("mkpath").eval() != 1:
                cls.log.error("Invalid settings found on `%s`" % node.path())
                result.append(node)

        return result