mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
Merge branch 'feature/PYPE-11-nuke_workflow_implementing_creat' into feature/PYPE-32-nuke-publish-write-sequence
This commit is contained in:
commit
f1d0c60c41
4 changed files with 124 additions and 44 deletions
|
|
@ -1,3 +1,4 @@
|
|||
from collections import OrderedDict
|
||||
import avalon.api
|
||||
import avalon.nuke
|
||||
from pype.nuke import (
|
||||
|
|
@ -5,25 +6,55 @@ from pype.nuke import (
|
|||
)
|
||||
from pype import api as pype
|
||||
|
||||
|
||||
log = pype.Logger.getLogger(__name__, "nuke")
|
||||
|
||||
|
||||
def subset_to_families(subset, family, families):
|
||||
subset_sufx = str(subset).replace(family, "")
|
||||
new_subset = families + subset_sufx
|
||||
return "{}.{}".format(family, new_subset)
|
||||
|
||||
|
||||
class CrateWriteRender(avalon.nuke.Creator):
|
||||
name = "WriteRender"
|
||||
label = "Create Write Render"
|
||||
hosts = ["nuke"]
|
||||
family = "render"
|
||||
family = "render" # change this to template
|
||||
families = "write" # do not change!
|
||||
icon = "sign-out"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CrateWriteRender, self).__init__(*args, **kwargs)
|
||||
|
||||
data = OrderedDict()
|
||||
|
||||
# creating pype subset
|
||||
data["subset"] = subset_to_families(
|
||||
self.data["subset"],
|
||||
self.family,
|
||||
self.families
|
||||
)
|
||||
# swaping family with families
|
||||
data["family"] = self.families
|
||||
data["families"] = self.family
|
||||
|
||||
{data.update({k: v}) for k, v in self.data.items()
|
||||
if k not in data.keys()}
|
||||
self.data = data
|
||||
|
||||
def process(self):
|
||||
instance = super(CrateWriteRender, self).process()
|
||||
|
||||
if not instance:
|
||||
data_templates = {
|
||||
"cls": "write",
|
||||
"family": self.family
|
||||
"class": self.families,
|
||||
# only one is required
|
||||
"preset": self.family,
|
||||
"avalon": self.data
|
||||
}
|
||||
create_write_node(self.name, self.data, data_templates)
|
||||
|
||||
create_write_node(self.name, data_templates)
|
||||
|
||||
return
|
||||
|
||||
|
|
@ -33,18 +64,42 @@ class CrateWritePrerender(avalon.nuke.Creator):
|
|||
label = "Create Write Prerender"
|
||||
hosts = ["nuke"]
|
||||
family = "prerender"
|
||||
families = "write"
|
||||
icon = "sign-out"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CrateWritePrerender, self).__init__(*args, **kwargs)
|
||||
|
||||
data = OrderedDict()
|
||||
|
||||
# creating pype subset
|
||||
data["subset"] = subset_to_families(
|
||||
self.data["subset"],
|
||||
self.family,
|
||||
self.families
|
||||
)
|
||||
# swaping family with families
|
||||
data["family"] = self.families
|
||||
data["families"] = self.family
|
||||
|
||||
{data.update({k: v}) for k, v in self.data.items()
|
||||
if k not in data.keys()}
|
||||
self.data = data
|
||||
|
||||
def process(self):
|
||||
instance = super(CrateWritePrerender, self).process()
|
||||
|
||||
if not instance:
|
||||
data_templates = {
|
||||
"cls": "write",
|
||||
"family": self.family
|
||||
"class": self.families,
|
||||
# only one is required
|
||||
"preset": self.family,
|
||||
"avalon": self.data
|
||||
}
|
||||
create_write_node(self.name, self.data, data_templates)
|
||||
return None
|
||||
|
||||
create_write_node(self.name, data_templates)
|
||||
|
||||
return
|
||||
|
||||
|
||||
class CrateWriteStill(avalon.nuke.Creator):
|
||||
|
|
@ -52,15 +107,39 @@ class CrateWriteStill(avalon.nuke.Creator):
|
|||
label = "Create Write Still"
|
||||
hosts = ["nuke"]
|
||||
family = "still"
|
||||
families = "write"
|
||||
icon = "image"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(CrateWriteStill, self).__init__(*args, **kwargs)
|
||||
|
||||
data = OrderedDict()
|
||||
|
||||
# creating pype subset
|
||||
data["subset"] = subset_to_families(
|
||||
self.data["subset"],
|
||||
self.family,
|
||||
self.families
|
||||
)
|
||||
# swaping family with families
|
||||
data["family"] = self.families
|
||||
data["families"] = self.family
|
||||
|
||||
{data.update({k: v}) for k, v in self.data.items()
|
||||
if k not in data.keys()}
|
||||
self.data = data
|
||||
|
||||
def process(self):
|
||||
instance = super(CrateWriteStill, self).process()
|
||||
|
||||
if not instance:
|
||||
data_templates = {
|
||||
"cls": "write",
|
||||
"family": self.family
|
||||
"class": self.families,
|
||||
# only one is required
|
||||
"preset": self.family,
|
||||
"avalon": self.data
|
||||
}
|
||||
create_write_node(self.name, self.data, data_templates)
|
||||
|
||||
create_write_node(self.name, data_templates)
|
||||
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue