using render constants from lib, add arg to get_renderer_variables

This commit is contained in:
aardschok 2017-10-19 11:45:34 +02:00
parent 1cee730df7
commit db855c1348

View file

@ -13,29 +13,23 @@ import pyblish.api
import colorbleed.maya.lib as lib
RENDER_ATTRIBUTES = {"vray":
{"node": "vraySettings",
"prefix": "fileNamePrefix",
"padding": "fileNamePadding",
"ext": "imageFormatStr"},
"arnold":
{"node": "defaultRenderGlobals",
"prefix": "imageFilePrefix",
"padding": "extensionPadding"}
}
def get_renderer_variables():
def get_renderer_variables(renderlayer=None):
"""Retrieve the extension which has been set in the VRay settings
Will return None if the current renderer is not VRay
For Maya 2016.5 and up the renderSetup creates renderSetupLayer node which
start with `rs`. Use the actual node name, do NOT use the `nice name`
Args:
renderlayer (str): the node name of the renderlayer.
Returns:
dict
"""
renderer = lib.get_renderer(lib.get_current_renderlayer())
render_attrs = RENDER_ATTRIBUTES[renderer]
renderer = lib.get_renderer(renderlayer or lib.get_current_renderlayer())
render_attrs = lib.RENDER_ATTRS.get(renderer, "default")
filename_padding = cmds.getAttr("{}.{}".format(render_attrs["node"],
render_attrs["padding"]))
@ -94,7 +88,7 @@ class MindbenderSubmitDeadline(pyblish.api.InstancePlugin):
pass
# Get the variables depending on the renderer
render_variables = get_renderer_variables()
render_variables = get_renderer_variables(renderlayer)
# following hardcoded "renders/<Scene>/<Scene>_<Layer>/<Layer>"
output_filename_0 = self.preview_fname(scene,
instance.name,