mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
review cleanup, changing family to "review" instead of "render.review"
This commit is contained in:
parent
e1601664f1
commit
3613a60614
4 changed files with 24 additions and 48 deletions
|
|
@ -13,6 +13,7 @@ class WriteToRender(pyblish.api.InstancePlugin):
|
|||
families = ["write"]
|
||||
|
||||
def process(self, instance):
|
||||
return
|
||||
if [f for f in instance.data["families"]
|
||||
if ".frames" in f]:
|
||||
instance[0]["render"].setValue(True)
|
||||
|
|
@ -14,14 +14,16 @@ class CollectReview(pyblish.api.InstancePlugin):
|
|||
family_targets = [".local", ".frames"]
|
||||
|
||||
def process(self, instance):
|
||||
pass
|
||||
families = [(f, search) for f in instance.data["families"]
|
||||
for search in self.family_targets
|
||||
if search in f][0]
|
||||
|
||||
if families:
|
||||
root_femilies = families[0].replace(families[1], "")
|
||||
instance.data["families"].append(".".join([
|
||||
root_femilies,
|
||||
self.family
|
||||
]))
|
||||
root_families = families[0].replace(families[1], "")
|
||||
# instance.data["families"].append(".".join([
|
||||
# root_families,
|
||||
# self.family
|
||||
# ]))
|
||||
instance.data["families"].append("review")
|
||||
self.log.info("Review collected: `{}`".format(instance))
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import os
|
|||
import nuke
|
||||
import pyblish.api
|
||||
import pype
|
||||
from pype.vendor import ffmpeg
|
||||
|
||||
|
||||
class ExtractDataForReview(pype.api.Extractor):
|
||||
|
|
@ -12,27 +13,18 @@ class ExtractDataForReview(pype.api.Extractor):
|
|||
"""
|
||||
|
||||
order = pyblish.api.ExtractorOrder + 0.01
|
||||
label = "Data for review"
|
||||
label = "Extract Review"
|
||||
optional = True
|
||||
|
||||
families = ["write"]
|
||||
families = ["review"]
|
||||
hosts = ["nuke"]
|
||||
family_targets = [".local", ".review"]
|
||||
|
||||
def process(self, instance):
|
||||
|
||||
families = [f for f in instance.data["families"]
|
||||
for search in self.family_targets
|
||||
if search in f]
|
||||
if not families:
|
||||
return
|
||||
self.log.debug("here:")
|
||||
# Store selection
|
||||
selection = [i for i in nuke.allNodes() if i["selected"].getValue()]
|
||||
self.log.debug("here:")
|
||||
# Deselect all nodes to prevent external connections
|
||||
[i["selected"].setValue(False) for i in nuke.allNodes()]
|
||||
self.log.debug("here:")
|
||||
self.log.debug("creating staging dir:")
|
||||
self.staging_dir(instance)
|
||||
|
||||
|
|
@ -55,32 +47,18 @@ class ExtractDataForReview(pype.api.Extractor):
|
|||
|
||||
review_mov = os.path.join(staging_dir, file_name).replace("\\", "/")
|
||||
|
||||
if instance.data.get("baked_colorspace_movie"):
|
||||
args = [
|
||||
"ffmpeg", "-y",
|
||||
"-i", instance.data["baked_colorspace_movie"],
|
||||
"-pix_fmt", "yuv420p",
|
||||
"-crf", "18",
|
||||
"-timecode", "00:00:00:01",
|
||||
]
|
||||
|
||||
args.append(review_mov)
|
||||
|
||||
self.log.debug("Executing args: {0}".format(args))
|
||||
|
||||
self.log.info("transcoding review mov: {0}".format(review_mov))
|
||||
p = subprocess.Popen(
|
||||
args,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.STDOUT,
|
||||
stdin=subprocess.PIPE,
|
||||
cwd=os.path.dirname(args[-1])
|
||||
)
|
||||
if instance.data.get("baked_colorspace_movie"):
|
||||
input_movie = instance.data["baked_colorspace_movie"]
|
||||
out, err = (
|
||||
ffmpeg
|
||||
.input(input_movie)
|
||||
.output(review_mov, pix_fmt='yuv420p', crf=18, timecode="00:00:00:01")
|
||||
.overwrite_output()
|
||||
.run()
|
||||
)
|
||||
|
||||
output = p.communicate()[0]
|
||||
|
||||
if p.returncode != 0:
|
||||
raise ValueError(output)
|
||||
|
||||
self.log.debug("Removing `{0}`...".format(
|
||||
instance.data["baked_colorspace_movie"]))
|
||||
|
|
@ -101,12 +79,6 @@ class ExtractDataForReview(pype.api.Extractor):
|
|||
|
||||
collection = instance.data.get("collection", None)
|
||||
|
||||
self.log.warning("instance.data['files']: {}".format(instance.data['files']))
|
||||
if not collection:
|
||||
collections, remainder = clique.assemble(*instance.data['files'])
|
||||
collection = collections[0]
|
||||
instance.data["collection"] = collection
|
||||
|
||||
# Create nodes
|
||||
first_frame = min(collection.indexes)
|
||||
last_frame = max(collection.indexes)
|
||||
|
|
@ -156,6 +128,7 @@ class ExtractDataForReview(pype.api.Extractor):
|
|||
if representation in "mov":
|
||||
file = collection.format("{head}baked.mov")
|
||||
path = os.path.join(staging_dir, file).replace("\\", "/")
|
||||
self.log.debug("Path: {}".format(path))
|
||||
instance.data["baked_colorspace_movie"] = path
|
||||
write_node["file"].setValue(path)
|
||||
write_node["file_type"].setValue("mov")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue