mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
Merge pull request #4623 from ynput/bugfix/nuke-deadline-submitter
This commit is contained in:
commit
a2f56b7921
9 changed files with 61 additions and 11 deletions
|
|
@ -25,7 +25,7 @@ class ExtractReviewData(publish.Extractor):
|
||||||
# review can be removed since `ProcessSubmittedJobOnFarm` will create
|
# review can be removed since `ProcessSubmittedJobOnFarm` will create
|
||||||
# reviewable representation if needed
|
# reviewable representation if needed
|
||||||
if (
|
if (
|
||||||
"render.farm" in instance.data["families"]
|
instance.data.get("farm")
|
||||||
and "review" in instance.data["families"]
|
and "review" in instance.data["families"]
|
||||||
):
|
):
|
||||||
instance.data["families"].remove("review")
|
instance.data["families"].remove("review")
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,12 @@ class ExtractReviewDataLut(publish.Extractor):
|
||||||
exporter.stagingDir, exporter.file).replace("\\", "/")
|
exporter.stagingDir, exporter.file).replace("\\", "/")
|
||||||
instance.data["representations"] += data["representations"]
|
instance.data["representations"] += data["representations"]
|
||||||
|
|
||||||
if "render.farm" in families:
|
# review can be removed since `ProcessSubmittedJobOnFarm` will create
|
||||||
|
# reviewable representation if needed
|
||||||
|
if (
|
||||||
|
instance.data.get("farm")
|
||||||
|
and "review" in instance.data["families"]
|
||||||
|
):
|
||||||
instance.data["families"].remove("review")
|
instance.data["families"].remove("review")
|
||||||
|
|
||||||
self.log.debug(
|
self.log.debug(
|
||||||
|
|
|
||||||
|
|
@ -105,10 +105,7 @@ class ExtractReviewDataMov(publish.Extractor):
|
||||||
self, instance, o_name, o_data["extension"],
|
self, instance, o_name, o_data["extension"],
|
||||||
multiple_presets)
|
multiple_presets)
|
||||||
|
|
||||||
if (
|
if instance.data.get("farm"):
|
||||||
"render.farm" in families or
|
|
||||||
"prerender.farm" in families
|
|
||||||
):
|
|
||||||
if "review" in instance.data["families"]:
|
if "review" in instance.data["families"]:
|
||||||
instance.data["families"].remove("review")
|
instance.data["families"].remove("review")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ class ExtractThumbnail(publish.Extractor):
|
||||||
|
|
||||||
|
|
||||||
def process(self, instance):
|
def process(self, instance):
|
||||||
if "render.farm" in instance.data["families"]:
|
if instance.data.get("farm"):
|
||||||
return
|
return
|
||||||
|
|
||||||
with napi.maintained_selection():
|
with napi.maintained_selection():
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin,
|
||||||
label = "Submit Nuke to Deadline"
|
label = "Submit Nuke to Deadline"
|
||||||
order = pyblish.api.IntegratorOrder + 0.1
|
order = pyblish.api.IntegratorOrder + 0.1
|
||||||
hosts = ["nuke"]
|
hosts = ["nuke"]
|
||||||
families = ["render", "prerender.farm"]
|
families = ["render", "prerender"]
|
||||||
optional = True
|
optional = True
|
||||||
targets = ["local"]
|
targets = ["local"]
|
||||||
|
|
||||||
|
|
@ -80,6 +80,10 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin,
|
||||||
]
|
]
|
||||||
|
|
||||||
def process(self, instance):
|
def process(self, instance):
|
||||||
|
if not instance.data.get("farm"):
|
||||||
|
self.log.info("Skipping local instance.")
|
||||||
|
return
|
||||||
|
|
||||||
instance.data["attributeValues"] = self.get_attr_values_from_data(
|
instance.data["attributeValues"] = self.get_attr_values_from_data(
|
||||||
instance.data)
|
instance.data)
|
||||||
|
|
||||||
|
|
@ -168,10 +172,10 @@ class NukeSubmitDeadline(pyblish.api.InstancePlugin,
|
||||||
resp.json()["_id"])
|
resp.json()["_id"])
|
||||||
|
|
||||||
# redefinition of families
|
# redefinition of families
|
||||||
if "render.farm" in families:
|
if "render" in instance.data["family"]:
|
||||||
instance.data['family'] = 'write'
|
instance.data['family'] = 'write'
|
||||||
families.insert(0, "render2d")
|
families.insert(0, "render2d")
|
||||||
elif "prerender.farm" in families:
|
elif "prerender" in instance.data["family"]:
|
||||||
instance.data['family'] = 'write'
|
instance.data['family'] = 'write'
|
||||||
families.insert(0, "prerender")
|
families.insert(0, "prerender")
|
||||||
instance.data["families"] = families
|
instance.data["families"] = families
|
||||||
|
|
|
||||||
|
|
@ -756,6 +756,10 @@ class ProcessSubmittedJobOnFarm(pyblish.api.InstancePlugin):
|
||||||
instance (pyblish.api.Instance): Instance data.
|
instance (pyblish.api.Instance): Instance data.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
if not instance.data.get("farm"):
|
||||||
|
self.log.info("Skipping local instance.")
|
||||||
|
return
|
||||||
|
|
||||||
data = instance.data.copy()
|
data = instance.data.copy()
|
||||||
context = instance.context
|
context = instance.context
|
||||||
self.context = context
|
self.context = context
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,10 @@ class ValidateDeadlinePools(OptionalPyblishPluginMixin,
|
||||||
optional = True
|
optional = True
|
||||||
|
|
||||||
def process(self, instance):
|
def process(self, instance):
|
||||||
|
if not instance.data.get("farm"):
|
||||||
|
self.log.info("Skipping local instance.")
|
||||||
|
return
|
||||||
|
|
||||||
# get default deadline webservice url from deadline module
|
# get default deadline webservice url from deadline module
|
||||||
deadline_url = instance.context.data["defaultDeadline"]
|
deadline_url = instance.context.data["defaultDeadline"]
|
||||||
self.log.info("deadline_url::{}".format(deadline_url))
|
self.log.info("deadline_url::{}".format(deadline_url))
|
||||||
|
|
|
||||||
|
|
@ -71,12 +71,30 @@ class TestDeadlinePublishInNuke(NukeDeadlinePublishTestClass):
|
||||||
failures.append(
|
failures.append(
|
||||||
DBAssert.count_of_types(dbcon, "representation", 4))
|
DBAssert.count_of_types(dbcon, "representation", 4))
|
||||||
|
|
||||||
|
additional_args = {"context.subset": "workfileTest_task",
|
||||||
|
"context.ext": "nk"}
|
||||||
|
failures.append(
|
||||||
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
|
additional_args=additional_args))
|
||||||
|
|
||||||
additional_args = {"context.subset": "renderTest_taskMain",
|
additional_args = {"context.subset": "renderTest_taskMain",
|
||||||
"context.ext": "exr"}
|
"context.ext": "exr"}
|
||||||
failures.append(
|
failures.append(
|
||||||
DBAssert.count_of_types(dbcon, "representation", 1,
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
additional_args=additional_args))
|
additional_args=additional_args))
|
||||||
|
|
||||||
|
additional_args = {"context.subset": "renderTest_taskMain",
|
||||||
|
"name": "thumbnail"}
|
||||||
|
failures.append(
|
||||||
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
|
additional_args=additional_args))
|
||||||
|
|
||||||
|
additional_args = {"context.subset": "renderTest_taskMain",
|
||||||
|
"name": "h264_mov"}
|
||||||
|
failures.append(
|
||||||
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
|
additional_args=additional_args))
|
||||||
|
|
||||||
assert not any(failures)
|
assert not any(failures)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class TestPublishInNuke(NukeLocalPublishTestClass):
|
||||||
!!!
|
!!!
|
||||||
It expects modified path in WriteNode,
|
It expects modified path in WriteNode,
|
||||||
use '[python {nuke.script_directory()}]' instead of regular root
|
use '[python {nuke.script_directory()}]' instead of regular root
|
||||||
dir (eg. instead of `c:/projects/test_project/test_asset/test_task`).
|
dir (eg. instead of `c:/projects`).
|
||||||
Access file path by selecting WriteNode group, CTRL+Enter, update file
|
Access file path by selecting WriteNode group, CTRL+Enter, update file
|
||||||
input
|
input
|
||||||
!!!
|
!!!
|
||||||
|
|
@ -70,12 +70,30 @@ class TestPublishInNuke(NukeLocalPublishTestClass):
|
||||||
failures.append(
|
failures.append(
|
||||||
DBAssert.count_of_types(dbcon, "representation", 4))
|
DBAssert.count_of_types(dbcon, "representation", 4))
|
||||||
|
|
||||||
|
additional_args = {"context.subset": "workfileTest_task",
|
||||||
|
"context.ext": "nk"}
|
||||||
|
failures.append(
|
||||||
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
|
additional_args=additional_args))
|
||||||
|
|
||||||
additional_args = {"context.subset": "renderTest_taskMain",
|
additional_args = {"context.subset": "renderTest_taskMain",
|
||||||
"context.ext": "exr"}
|
"context.ext": "exr"}
|
||||||
failures.append(
|
failures.append(
|
||||||
DBAssert.count_of_types(dbcon, "representation", 1,
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
additional_args=additional_args))
|
additional_args=additional_args))
|
||||||
|
|
||||||
|
additional_args = {"context.subset": "renderTest_taskMain",
|
||||||
|
"name": "thumbnail"}
|
||||||
|
failures.append(
|
||||||
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
|
additional_args=additional_args))
|
||||||
|
|
||||||
|
additional_args = {"context.subset": "renderTest_taskMain",
|
||||||
|
"name": "h264_mov"}
|
||||||
|
failures.append(
|
||||||
|
DBAssert.count_of_types(dbcon, "representation", 1,
|
||||||
|
additional_args=additional_args))
|
||||||
|
|
||||||
assert not any(failures)
|
assert not any(failures)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue