Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Commit

Permalink
♻️ first batch of optional validator fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
antirotor committed Mar 26, 2024
1 parent b94fbb0 commit 0e76791
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 10 deletions.
10 changes: 7 additions & 3 deletions openpype/hosts/maya/plugins/publish/validate_loaded_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@

from openpype.pipeline.publish import (
RepairContextAction,
PublishValidationError
PublishValidationError,
OptionalPyblishPluginMixin,
)


class ValidateLoadedPlugin(pyblish.api.ContextPlugin):
class ValidateLoadedPlugin(pyblish.api.ContextPlugin,
OptionalPyblishPluginMixin):
"""Ensure there are no unauthorized loaded plugins"""

label = "Loaded Plugin"
order = pyblish.api.ValidatorOrder
host = ["maya"]
actions = [RepairContextAction]
optional = True

@classmethod
def get_invalid(cls, context):
Expand All @@ -35,7 +38,8 @@ def get_invalid(cls, context):
return invalid

def process(self, context):

if not self.is_active(context.data):
return
invalid = self.get_invalid(context)
if invalid:
raise PublishValidationError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,18 @@
from openpype.pipeline.publish import (
RepairAction,
ValidateContentsOrder,
PublishValidationError
PublishValidationError,
OptionalPyblishPluginMixin
)


class ValidateShadingEngine(pyblish.api.InstancePlugin):
class ValidateShadingEngine(pyblish.api.InstancePlugin,
OptionalPyblishPluginMixin):
"""Validate all shading engines are named after the surface material.
Shading engines should be named "{surface_shader}SG"
"""

optional = True
order = ValidateContentsOrder
families = ["look"]
hosts = ["maya"]
Expand All @@ -25,6 +27,8 @@ class ValidateShadingEngine(pyblish.api.InstancePlugin):

# The default connections to check
def process(self, instance):
if not self.is_active(instance.data):
return

invalid = self.get_invalid(instance)
if invalid:
Expand Down
10 changes: 8 additions & 2 deletions openpype/hosts/maya/plugins/publish/validate_maya_units.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@
from openpype.pipeline.publish import (
RepairContextAction,
ValidateSceneOrder,
PublishXmlValidationError
PublishXmlValidationError,
OptionalPyblishPluginMixin,

)


class ValidateMayaUnits(pyblish.api.ContextPlugin):
class ValidateMayaUnits(pyblish.api.ContextPlugin,
OptionalPyblishPluginMixin):
"""Check if the Maya units are set correct"""

order = ValidateSceneOrder
label = "Maya Units"
hosts = ['maya']
actions = [RepairContextAction]
optional = True

validate_linear_units = True
linear_units = "cm"
Expand Down Expand Up @@ -52,6 +56,8 @@ def apply_settings(cls, project_settings):
cls.validate_fps = settings.get("validate_fps", cls.validate_fps)

def process(self, context):
if not self.is_active(context.data):
return

# Collected units
linearunits = context.data.get('linearUnits')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@
from openpype.pipeline.publish import (
RepairAction,
ValidateContentsOrder,
PublishValidationError
PublishValidationError,
OptionalPyblishPluginMixin,
)


from maya import cmds


class ValidateSkeletalMeshTriangulated(pyblish.api.InstancePlugin):
class ValidateSkeletalMeshTriangulated(pyblish.api.InstancePlugin,
OptionalPyblishPluginMixin):
"""Validates that the geometry has been triangulated."""

order = ValidateContentsOrder
Expand All @@ -28,6 +30,9 @@ class ValidateSkeletalMeshTriangulated(pyblish.api.InstancePlugin):
]

def process(self, instance):
if not self.is_active(instance.data):
return

invalid = self.get_invalid(instance)
if invalid:
raise PublishValidationError(
Expand Down

0 comments on commit 0e76791

Please sign in to comment.