mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
code tweaks according to big roy's comment
This commit is contained in:
parent
5c8a39e266
commit
587bfe462f
2 changed files with 14 additions and 15 deletions
|
|
@ -12,19 +12,16 @@ from ayon_core.hosts.max.api.lib_rendersettings import RenderSettings
|
||||||
|
|
||||||
class ValidateRenderPasses(OptionalPyblishPluginMixin,
|
class ValidateRenderPasses(OptionalPyblishPluginMixin,
|
||||||
pyblish.api.InstancePlugin):
|
pyblish.api.InstancePlugin):
|
||||||
"""Validates Render Passes before Deadline Submission
|
"""Validates Render Passes before farm submission
|
||||||
"""
|
"""
|
||||||
|
|
||||||
order = ValidateContentsOrder
|
order = ValidateContentsOrder
|
||||||
families = ["maxrender"]
|
families = ["maxrender"]
|
||||||
hosts = ["max"]
|
hosts = ["max"]
|
||||||
label = "Validate Render Passes"
|
label = "Validate Render Passes"
|
||||||
optional = True
|
|
||||||
actions = [RepairAction]
|
actions = [RepairAction]
|
||||||
|
|
||||||
def process(self, instance):
|
def process(self, instance):
|
||||||
if not self.is_active(instance.data):
|
|
||||||
return
|
|
||||||
invalid = self.get_invalid(instance)
|
invalid = self.get_invalid(instance)
|
||||||
if invalid:
|
if invalid:
|
||||||
bullet_point_invalid_statement = "\n".join(
|
bullet_point_invalid_statement = "\n".join(
|
||||||
|
|
@ -64,7 +61,7 @@ class ValidateRenderPasses(OptionalPyblishPluginMixin,
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
instance (pyblish.api.Instance): instance
|
instance (pyblish.api.Instance): instance
|
||||||
filename (str): filename of the Max scene
|
workfile_name (str): filename of the Max scene
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
list: list of invalid filename which doesn't match
|
list: list of invalid filename which doesn't match
|
||||||
|
|
@ -72,11 +69,11 @@ class ValidateRenderPasses(OptionalPyblishPluginMixin,
|
||||||
"""
|
"""
|
||||||
invalid = []
|
invalid = []
|
||||||
file = rt.maxFileName
|
file = rt.maxFileName
|
||||||
filename, ext = os.path.splitext(file)
|
workfile_name, ext = os.path.splitext(file)
|
||||||
if filename not in rt.rendOutputFilename:
|
if workfile_name not in rt.rendOutputFilename:
|
||||||
cls.log.error(
|
cls.log.error(
|
||||||
"Render output folder must include"
|
"Render output folder must include"
|
||||||
f" the max scene name {filename} "
|
f" the max scene name {workfile_name} "
|
||||||
)
|
)
|
||||||
invalid_folder_name = os.path.dirname(
|
invalid_folder_name = os.path.dirname(
|
||||||
rt.rendOutputFilename).replace(
|
rt.rendOutputFilename).replace(
|
||||||
|
|
@ -104,13 +101,11 @@ class ValidateRenderPasses(OptionalPyblishPluginMixin,
|
||||||
render_elem_num = render_elem.NumRenderElements()
|
render_elem_num = render_elem.NumRenderElements()
|
||||||
for i in range(render_elem_num):
|
for i in range(render_elem_num):
|
||||||
renderlayer_name = render_elem.GetRenderElement(i)
|
renderlayer_name = render_elem.GetRenderElement(i)
|
||||||
renderpass = str(renderlayer_name).split(":")[-1]
|
renderpass = str(renderlayer_name).rsplit(":", 1)[-1]
|
||||||
rend_file = render_elem.GetRenderElementFilename(i)
|
rend_file = render_elem.GetRenderElementFilename(i)
|
||||||
if not rend_file:
|
if not rend_file:
|
||||||
cls.log.error(
|
continue
|
||||||
f"No filepath for render element {renderpass}")
|
|
||||||
invalid.append((f"Invalid {renderpass}",
|
|
||||||
"No filepath"))
|
|
||||||
rend_fname, ext = os.path.splitext(
|
rend_fname, ext = os.path.splitext(
|
||||||
os.path.basename(rend_file))
|
os.path.basename(rend_file))
|
||||||
invalid_filenames = cls.get_invalid_filenames(
|
invalid_filenames = cls.get_invalid_filenames(
|
||||||
|
|
@ -123,6 +118,10 @@ class ValidateRenderPasses(OptionalPyblishPluginMixin,
|
||||||
cls.log.debug(
|
cls.log.debug(
|
||||||
"Renderpass validation does not support Arnold yet,"
|
"Renderpass validation does not support Arnold yet,"
|
||||||
" validation skipped...")
|
" validation skipped...")
|
||||||
|
else:
|
||||||
|
cls.log.debug(
|
||||||
|
"Skipping render element validation "
|
||||||
|
f"for renderer : {renderer}")
|
||||||
return invalid
|
return invalid
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -140,7 +139,7 @@ class ValidateRenderPasses(OptionalPyblishPluginMixin,
|
||||||
"""
|
"""
|
||||||
invalid = []
|
invalid = []
|
||||||
if instance.name not in file_name:
|
if instance.name not in file_name:
|
||||||
cls.log.error("The renderpass should have instance name inside.")
|
cls.log.error("The renderpass filename should contain the instance name.")
|
||||||
invalid.append((f"Invalid instance name",
|
invalid.append((f"Invalid instance name",
|
||||||
file_name))
|
file_name))
|
||||||
if renderpass is not None:
|
if renderpass is not None:
|
||||||
|
|
|
||||||
|
|
@ -191,7 +191,7 @@ DEFAULT_PUBLISH_SETTINGS = {
|
||||||
},
|
},
|
||||||
"ValidateRenderPasses": {
|
"ValidateRenderPasses": {
|
||||||
"enabled": True,
|
"enabled": True,
|
||||||
"optional": True,
|
"optional": False,
|
||||||
"active": True
|
"active": True
|
||||||
},
|
},
|
||||||
"ExtractModelObj": {
|
"ExtractModelObj": {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue