Skip to content

validate_saver_has_input

ValidateSaverHasInput

Bases: InstancePlugin

Validate saver has incoming connection

This ensures a Saver has at least an input connection.

Source code in client/ayon_fusion/plugins/publish/validate_saver_has_input.py
 7
 8
 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 ValidateSaverHasInput(pyblish.api.InstancePlugin):
    """Validate saver has incoming connection

    This ensures a Saver has at least an input connection.

    """

    order = pyblish.api.ValidatorOrder
    label = "Validate Saver Has Input"
    families = ["render", "image"]
    hosts = ["fusion"]
    actions = [SelectInvalidAction]

    @classmethod
    def get_invalid(cls, instance):

        saver = instance.data["tool"]
        if not saver.Input.GetConnectedOutput():
            return [saver]

        return []

    def process(self, instance):
        invalid = self.get_invalid(instance)
        if invalid:
            saver_name = invalid[0].Name
            raise PublishValidationError(
                "Saver has no incoming connection: {} ({})".format(instance,
                                                                   saver_name),
                title=self.label)