🎨 add sop path validator

This commit is contained in:
Ondrej Samohel 2023-04-13 16:42:54 +02:00
parent d3e751c58e
commit 9a3fe48125
No known key found for this signature in database
GPG key ID: 02376E18990A97C6

View file

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
"""Validator plugin for SOP Path in bgeo isntance."""
import pyblish.api
from openpype.pipeline import PublishValidationError
class ValidateNoSOPPath(pyblish.api.InstancePlugin):
"""Validate if SOP Path in BGEO instance exists."""
order = pyblish.api.ValidatorOrder
families = ["bgeo"]
label = "Validate BGEO SOP Path"
def process(self, instance):
import hou
node = hou.node(instance.data.get("instance_node"))
sop_path = node.evalParm("soppath")
if not sop_path:
raise PublishValidationError("Empty SOP Path found in "
"the bgeo isntance Geometry")
if not isinstance(hou.node(sop_path), hou.SopNode):
raise PublishValidationError(
"SOP path is not pointing to valid SOP node.")