mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 21:32:15 +01:00
Improve ValidateRenderSettings; fix class name, fix checking prefix within the layer, remove redundant AttributeError
This commit is contained in:
parent
b00fb1c14a
commit
db34b11c26
1 changed files with 26 additions and 21 deletions
|
|
@ -2,15 +2,16 @@ import maya.cmds as cmds
|
|||
|
||||
import pyblish.api
|
||||
import colorbleed.api
|
||||
import colorbleed.maya.lib as lib
|
||||
|
||||
|
||||
class ValidateResources(pyblish.api.InstancePlugin):
|
||||
class ValidateRenderSettings(pyblish.api.InstancePlugin):
|
||||
"""Validates the global render settings
|
||||
|
||||
* File Name Prefix must be as followed:
|
||||
* vray: renders/<Scene>/<Layer>/<Layer>
|
||||
* arnold: renders/<Scene>/<RenderLayer>/<RenderLayer>
|
||||
* default: renders/<Scene>/<RenderLayer>/<RenderLayer>
|
||||
* vray: <Scene>/<Layer>/<Layer>
|
||||
* arnold: <Scene>/<RenderLayer>/<RenderLayer>
|
||||
* default: <Scene>/<RenderLayer>/<RenderLayer>
|
||||
|
||||
* Frame Padding must be:
|
||||
* default: 4
|
||||
|
|
@ -21,27 +22,31 @@ class ValidateResources(pyblish.api.InstancePlugin):
|
|||
hosts = ["maya"]
|
||||
families = ["colorbleed.renderlayer"]
|
||||
|
||||
def process(self, instance):
|
||||
|
||||
renderer = cmds.getAttr("defaultRenderGlobals.currentRenderer")
|
||||
|
||||
default_padding = 4
|
||||
default_prefix = {
|
||||
DEFAULT_PADDING = 4
|
||||
DEFAULT_PREFIX = {
|
||||
"vray": "<Scene>/<Scene>_<Layer>/<Layer>",
|
||||
"arnold": "<Scene>/<Scene>_<RenderLayer>/<RenderLayer>"
|
||||
}
|
||||
}
|
||||
|
||||
if renderer == "vray":
|
||||
prefix = cmds.getAttr("vraySettings.fileNamePrefix")
|
||||
padding = cmds.getAttr("vraySettings.fileNamePadding")
|
||||
else:
|
||||
prefix = cmds.getAttr("defaultRenderGlobals.fileNamePrefix")
|
||||
padding = cmds.getAttr("defaultRenderGlobals.fileNamePadding")
|
||||
def process(self, instance):
|
||||
|
||||
filename_prefix = default_prefix[renderer]
|
||||
assert padding == default_padding, (
|
||||
"Expecting padding of 4 ( 0000 )"
|
||||
)
|
||||
renderer = instance.data['renderer']
|
||||
layer_node = instance.data['setMembers']
|
||||
|
||||
# Collect the filename prefix in the renderlayer
|
||||
with lib.renderlayer(layer_node):
|
||||
if renderer == "vray":
|
||||
prefix = cmds.getAttr("vraySettings.fileNamePrefix")
|
||||
padding = cmds.getAttr("vraySettings.fileNamePadding")
|
||||
else:
|
||||
prefix = cmds.getAttr("defaultRenderGlobals.fileNamePrefix")
|
||||
padding = cmds.getAttr("defaultRenderGlobals.fileNamePadding")
|
||||
|
||||
filename_prefix = self.DEFAULT_PREFIX[renderer]
|
||||
assert prefix == filename_prefix, (
|
||||
"Wrong file name prefix, expecting %s" % filename_prefix
|
||||
)
|
||||
assert padding == self.DEFAULT_PADDING, (
|
||||
"Expecting padding of {} ( {} )".format(self.DEFAULT_PADDING,
|
||||
"0"*self.DEFAULT_PADDING)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue