diff --git a/colorbleed/plugins/maya/publish/submit_deadline.py b/colorbleed/plugins/maya/publish/submit_deadline.py index 2a79ef6280..6ebcba9fa1 100644 --- a/colorbleed/plugins/maya/publish/submit_deadline.py +++ b/colorbleed/plugins/maya/publish/submit_deadline.py @@ -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//_/" output_filename_0 = self.preview_fname(scene, instance.name,