Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Houdini: Cleanup after publishing #9

Merged
merged 114 commits into from
Jun 27, 2024
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
f0ea0fb
expose stagingdir in houdini settings
MustafaJafar Feb 8, 2024
9285e0b
better organised file export paths
MustafaJafar Feb 8, 2024
24fd0cb
add collector: CollectStagingDirsForCleaningUp
MustafaJafar Feb 8, 2024
7025f0b
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Feb 9, 2024
8113d74
fix faulty logic
MustafaJafar Feb 9, 2024
4e3d15f
apply cleaning up for some product types only
MustafaJafar Feb 9, 2024
a8d3591
add default value for filepath, add one more return
MustafaJafar Feb 14, 2024
060d826
disable CollectStagingDirsForCleaningUp by default
MustafaJafar Feb 14, 2024
fb9261a
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Feb 14, 2024
2413a76
BigRoy comment - add expoted files to 'cleanupFullPaths and staging d…
MustafaJafar Feb 15, 2024
28ace53
Use full staging path in houdini create settings
MustafaJafar Feb 15, 2024
fa8a314
use standard keys
MustafaJafar Feb 15, 2024
7b3ae23
fix some bug
MustafaJafar Feb 15, 2024
52b7692
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Feb 22, 2024
51b378d
BigRoy's comment - Allow admins to select product types for the colle…
MustafaJafar Feb 22, 2024
659ab20
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Feb 23, 2024
da537c2
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Feb 29, 2024
cf7fa9b
fix a typo with a class attribute
MustafaJafar Feb 29, 2024
492f021
add one more setting to CollectFilesForCleaningUpModel
MustafaJafar Feb 29, 2024
76b38b4
use lib function to get output parameters
MustafaJafar Feb 29, 2024
2a80259
update code logic to get the files to cleanup
MustafaJafar Feb 29, 2024
bb31dc3
consistent staging directories
MustafaJafar Mar 4, 2024
5667ee0
use dynamic product name in created Houdini ROPs
MustafaJafar Mar 4, 2024
930dbce
use os.path.join instead of string format
MustafaJafar Mar 4, 2024
54eb86c
use better list operations
MustafaJafar Mar 4, 2024
5e4138e
add TODO for Intermediate render files
MustafaJafar Mar 4, 2024
d7c0dff
skip collector if no instance node found
MustafaJafar Mar 4, 2024
746819e
better variable/setting naming and add description for it
MustafaJafar Mar 4, 2024
607a266
move create_file_list to Houdini's lib
MustafaJafar Mar 4, 2024
4b9a750
Implement TODO: get_ifd_file_list
MustafaJafar Mar 4, 2024
ffd84d4
uncomment products in product_types_enum
MustafaJafar Mar 4, 2024
405f9a0
use forward slashed with generated file list
MustafaJafar Mar 4, 2024
d5101b7
put return in a correct place
MustafaJafar Mar 5, 2024
499d2db
Merge branch 'develop' into feature/houdini_cleanup_after_publishing …
MustafaJafar Apr 2, 2024
2f10964
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Apr 22, 2024
ccaba93
update comments
MustafaJafar Apr 22, 2024
af13d6a
revert changes
MustafaJafar Apr 22, 2024
ed5c5f0
add CollectFilesForCleaningUp
MustafaJafar Apr 22, 2024
2c53fcf
fix typo
MustafaJafar Apr 22, 2024
fee69d1
tweak filepath a little bit
MustafaJafar Apr 22, 2024
0ceec68
tweak filepath a little bit
MustafaJafar Apr 22, 2024
b0c62d3
tweak filepath a little bit
MustafaJafar Apr 22, 2024
064029c
remove redundant `/` in filepath
MustafaJafar Apr 22, 2024
bdbbd29
update comment
MustafaJafar Apr 22, 2024
662a931
tweak filepaths a little bit
MustafaJafar Apr 22, 2024
ed26f80
tweak filepath a little bit
MustafaJafar Apr 22, 2024
3652021
tweak filepath a little bit - add dynamic link to productname and use…
MustafaJafar Apr 22, 2024
5733fb7
revert changes in creators
MustafaJafar Apr 22, 2024
00366b4
fix wrong enum items
MustafaJafar Apr 22, 2024
0f7db69
move create_file_list to Houdini's lib
MustafaJafar Mar 4, 2024
6f2521b
update a TODO
MustafaJafar Apr 22, 2024
5b4a449
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Apr 25, 2024
0ad90c3
add CollectFilesForCleaning setting
MustafaJafar Apr 25, 2024
193b57d
Merge branch 'feature/houdini_cleanup_after_publishing' of https://gi…
MustafaJafar Apr 25, 2024
da07bce
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Apr 29, 2024
02ee0c4
add CollectFilesForCleaning setting
MustafaJafar Apr 29, 2024
fd81990
CollectFilesForCleaningUp: Drop the enum and make it a regular list.
MustafaJafar Apr 29, 2024
4afad33
CollectFilesForCleaningUp: update link
MustafaJafar Apr 29, 2024
ba66237
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar May 2, 2024
5a36e1b
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar May 10, 2024
93792e3
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar May 13, 2024
c4613e1
add Cleanup after publishing settings
MustafaJafar May 13, 2024
a0e8a33
revert server_addon/houdini/server/settings/publish.py
MustafaJafar May 13, 2024
5ee0f96
add CollectFilesForCleaningUp settings
MustafaJafar May 13, 2024
764117d
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar May 23, 2024
2619387
Bump Addon version - add CollectFilesForCleaningUp setting
MustafaJafar May 23, 2024
4508cc9
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar May 28, 2024
7543082
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Jun 3, 2024
a0b65f3
add CollectFilesForCleaningUp
MustafaJafar Jun 3, 2024
d6e6669
bump version
MustafaJafar Jun 3, 2024
48020b5
update imports
MustafaJafar Jun 3, 2024
04d2b6c
add model to product types enums
MustafaJafar Jun 3, 2024
d5b8507
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
antirotor Jun 11, 2024
256053f
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
antirotor Jun 11, 2024
547065d
use clique instead of lib.create_file_list
MustafaJafar Jun 14, 2024
d0f2642
use string format instead of os.path.join
MustafaJafar Jun 14, 2024
6d9667e
fix a bug with products with single file and improve the logic
MustafaJafar Jun 14, 2024
9a95b3b
update a comment and refactor a variable name
MustafaJafar Jun 14, 2024
48f7559
improve the logic
MustafaJafar Jun 14, 2024
f2cff11
prefer 'expectedFiles' over 'frames' and improve the logic
MustafaJafar Jun 14, 2024
9e7bf2f
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Jun 14, 2024
0af97e7
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
antirotor Jun 17, 2024
b4b8ffa
:dog: style changes
antirotor Jun 17, 2024
ae0c0e7
Merge branch 'feature/houdini_cleanup_after_publishing' of github.com…
antirotor Jun 17, 2024
274f175
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Jun 25, 2024
a22a99b
Add CollectFilesForCleaningUp settings
MustafaJafar Jun 25, 2024
b04defe
remove mantraifd from products enum
MustafaJafar Jun 26, 2024
09b0364
use assignment instead of update
MustafaJafar Jun 26, 2024
8a264b1
Update doc string of CollectFilesForCleaningUp
MustafaJafar Jun 26, 2024
74fe37f
update log message
MustafaJafar Jun 26, 2024
c2d851a
use for loop instead of sum
MustafaJafar Jun 26, 2024
37cbcc1
update logic of CollectFilesForCleaningUp and add collector for HDA p…
MustafaJafar Jun 26, 2024
5d5f3d9
update comment in CollectFilesForCleaningUp.process
MustafaJafar Jun 27, 2024
9784287
make files complete for the single file condition
MustafaJafar Jun 27, 2024
e9e2e0c
add type hints
MustafaJafar Jun 27, 2024
03d1f85
fix type hints
MustafaJafar Jun 27, 2024
60ec862
revert changes in HDA plugins
MustafaJafar Jun 27, 2024
d34ccc1
remove farm related logic and add notes about it
MustafaJafar Jun 27, 2024
4d1539d
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
MustafaJafar Jun 27, 2024
b8ec2a9
remove a redundant default setting value
MustafaJafar Jun 27, 2024
f596455
Merge branch 'develop' into feature/houdini_cleanup_after_publishing
BigRoy Jun 27, 2024
53fb6ba
Cosmetics PEP8
BigRoy Jun 27, 2024
24cc6a9
Use `List[str]` instead of `list[os.PathLike]`
BigRoy Jun 27, 2024
9b652df
Cosmetics
BigRoy Jun 27, 2024
52837d1
Explicitly error if it doesn't behave as we expect it to
BigRoy Jun 27, 2024
ae9fc4b
Merge branch 'develop' of https://github.com/ynput/ayon-core into fea…
BigRoy Jun 27, 2024
b818abc
Refactor `BasicValidateModel` -> `BasicEnabledStatesModel`
BigRoy Jun 27, 2024
23957c2
Merge remote-tracking branch 'BigRoy/feature/houdini_cleanup_after_pu…
MustafaJafar Jun 27, 2024
2e10a5d
refactor `BasicEnabledStatesModel` -> `CollectFilesForCleaningUpModel`
MustafaJafar Jun 27, 2024
15505a9
fix code style
MustafaJafar Jun 27, 2024
067f1c2
remove unused method
MustafaJafar Jun 27, 2024
c315c25
Merge branch 'feature/houdini_cleanup_after_publishing' of https://gi…
MustafaJafar Jun 27, 2024
435e5f3
Bump Houdini addon version
BigRoy Jun 27, 2024
78ab03a
Merge branch 'develop' of https://github.com/ynput/ayon-core into fea…
BigRoy Jun 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class CreateAlembicCamera(plugin.HoudiniCreator):
label = "Camera (Abc)"
family = "camera"
icon = "camera"
staging_dir = "$HIP/ayon/{product_name}/{product_name}.abc"

def create(self, subset_name, instance_data, pre_create_data):
import hou
Expand All @@ -26,9 +27,13 @@ def create(self, subset_name, instance_data, pre_create_data):
pre_create_data) # type: CreatedInstance

instance_node = hou.node(instance.get("instance_node"))

filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)
MustafaJafar marked this conversation as resolved.
Show resolved Hide resolved

parms = {
"filename": hou.text.expandString(
"$HIP/pyblish/{}.abc".format(subset_name)),
"filename": filepath,
"use_sop_path": False,
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class CreateArnoldAss(plugin.HoudiniCreator):
# however calling HoudiniCreator.create()
# will override it by the value in the project settings
ext = ".ass"
staging_dir = "$HIP/ayon/{product_name}/{product_name}.{ext}"

def create(self, subset_name, instance_data, pre_create_data):
import hou
Expand All @@ -38,11 +39,12 @@ def create(self, subset_name, instance_data, pre_create_data):
parm_template_group = instance_node.parmTemplateGroup()
parm_template_group.hideFolder("Properties", True)
instance_node.setParmTemplateGroup(parm_template_group)

filepath = "{}{}".format(
hou.text.expandString("$HIP/pyblish/"),
"{}.$F4{}".format(subset_name, self.ext)
filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=self.ext.lstrip(".")
)

parms = {
# Render frame range
"trange": 1,
Expand Down
22 changes: 12 additions & 10 deletions client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ class CreateArnoldRop(plugin.HoudiniCreator):
label = "Arnold ROP"
family = "arnold_rop"
icon = "magic"
render_staging_dir = "$HIP/ayon/{product_name}/render/{product_name}.$F4.{ext}"
ass_dir = "$HIP/ayon/{product_name}/ass/{product_name}.$F4.{ext}"

# Default extension
ext = "exr"
Expand Down Expand Up @@ -36,12 +38,12 @@ def create(self, subset_name, instance_data, pre_create_data):
instance_node = hou.node(instance.get("instance_node"))

ext = pre_create_data.get("image_format")

filepath = "{renders_dir}{subset_name}/{subset_name}.$F4.{ext}".format(
renders_dir=hou.text.expandString("$HIP/pyblish/renders/"),
subset_name=subset_name,
ext=ext,

filepath = self.render_staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=ext
)

parms = {
# Render frame range
"trange": 1,
Expand All @@ -52,11 +54,11 @@ def create(self, subset_name, instance_data, pre_create_data):
}

if pre_create_data.get("export_job"):
ass_filepath = \
"{export_dir}{subset_name}/{subset_name}.$F4.ass".format(
export_dir=hou.text.expandString("$HIP/pyblish/ass/"),
subset_name=subset_name,
)
ass_filepath = self.ass_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext="ass"
)

parms["ar_ass_export_enable"] = 1
parms["ar_ass_file"] = ass_filepath

Expand Down
12 changes: 6 additions & 6 deletions client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class CreateBGEO(plugin.HoudiniCreator):
label = "PointCache (Bgeo)"
family = "pointcache"
icon = "gears"
staging_dir = "$HIP/ayon/{product_name}/{product_name}.$F4.{ext}"

def create(self, subset_name, instance_data, pre_create_data):

Expand All @@ -29,14 +30,13 @@ def create(self, subset_name, instance_data, pre_create_data):

instance_node = hou.node(instance.get("instance_node"))

file_path = "{}{}".format(
hou.text.expandString("$HIP/pyblish/"),
"{}.$F4.{}".format(
subset_name,
pre_create_data.get("bgeo_type") or "bgeo.sc")
filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=pre_create_data.get("bgeo_type") or "bgeo.sc"
)

parms = {
"sopoutput": file_path
"sopoutput": filepath
}

instance_node.parm("trange").set(1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ class CreateCompositeSequence(plugin.HoudiniCreator):
label = "Composite (Image Sequence)"
family = "imagesequence"
icon = "gears"

ext = ".exr"
staging_dir = "$HIP/ayon/{product_name}/{product_name}.$F4.{ext}"
ext = "exr"

def create(self, subset_name, instance_data, pre_create_data):
import hou # noqa
Expand All @@ -28,10 +28,12 @@ def create(self, subset_name, instance_data, pre_create_data):
pre_create_data) # type: CreatedInstance

instance_node = hou.node(instance.get("instance_node"))
filepath = "{}{}".format(
hou.text.expandString("$HIP/pyblish/"),
"{}.$F4{}".format(subset_name, self.ext)

filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=self.ext
)

parms = {
"trange": 1,
"copoutput": filepath
Expand Down
13 changes: 11 additions & 2 deletions client/ayon_core/hosts/houdini/plugins/create/create_hda.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ class CreateHDA(plugin.HoudiniCreator):
family = "hda"
icon = "gears"
maintain_selection = False
staging_dir = "$HIP/ayon/{product_name}/{product_name}.{ext}"
ext = "hda"

def _check_existing(self, asset_name, subset_name):
# type: (str) -> bool
Expand Down Expand Up @@ -56,10 +58,17 @@ def create_instance_node(
if not to_hda.canCreateDigitalAsset():
raise plugin.OpenPypeCreatorError(
"cannot create hda from node {}".format(to_hda))


# for consistency I'm using {subset} as it's
# the same key used in other creators
filepath = self.staging_dir.format(
product_name=node_name,
ext=self.ext
)

hda_node = to_hda.createDigitalAsset(
name=node_name,
hda_file_name="$HIP/{}.hda".format(node_name)
hda_file_name=filepath
)
hda_node.layoutChildren()
elif self._check_existing(asset_name, node_name):
Expand Down
21 changes: 11 additions & 10 deletions client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ class CreateKarmaROP(plugin.HoudiniCreator):
label = "Karma ROP"
family = "karma_rop"
icon = "magic"
render_staging_dir = "$HIP/ayon/{product_name}/render/{product_name}.$F4.{ext}"
checkpoint_dir = "$HIP/ayon/{product_name}/checkpoint/{product_name}.$F4.checkpoint"
usd_dir = "$HIP/ayon/{product_name}/usd/{product_name}_$RENDERID"

def create(self, subset_name, instance_data, pre_create_data):
import hou # noqa
Expand All @@ -31,19 +34,17 @@ def create(self, subset_name, instance_data, pre_create_data):

ext = pre_create_data.get("image_format")

filepath = "{renders_dir}{subset_name}/{subset_name}.$F4.{ext}".format(
renders_dir=hou.text.expandString("$HIP/pyblish/renders/"),
subset_name=subset_name,
ext=ext,
filepath = self.render_staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=ext
)
checkpoint = "{cp_dir}{subset_name}.$F4.checkpoint".format(
cp_dir=hou.text.expandString("$HIP/pyblish/"),
subset_name=subset_name

checkpoint = self.checkpoint_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)

usd_directory = "{usd_dir}{subset_name}_$RENDERID".format(
usd_dir=hou.text.expandString("$HIP/pyblish/renders/usd_renders/"), # noqa
subset_name=subset_name
usd_directory = self.usd_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)

parms = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class CreateMantraIFD(plugin.HoudiniCreator):
label = "Mantra IFD"
family = "mantraifd"
icon = "gears"
staging_dir = "$HIP/ayon/{product_name}/{product_name}.$F4.ifd"

def create(self, subset_name, instance_data, pre_create_data):
import hou
Expand All @@ -25,10 +26,11 @@ def create(self, subset_name, instance_data, pre_create_data):
pre_create_data) # type: CreatedInstance

instance_node = hou.node(instance.get("instance_node"))

filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)

filepath = "{}{}".format(
hou.text.expandString("$HIP/pyblish/"),
"{}.$F4.ifd".format(subset_name))
parms = {
# Render frame range
"trange": 1,
Expand Down
20 changes: 10 additions & 10 deletions client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ class CreateMantraROP(plugin.HoudiniCreator):
label = "Mantra ROP"
family = "mantra_rop"
icon = "magic"
render_staging_dir = "$HIP/ayon/{product_name}/render/{product_name}.$F4.{ext}",
ifd_dir = "$HIP/ayon/{product_name}/ifd/{product_name}.$F4.ifd"

# Default to split export and render jobs
export_job = True
Expand All @@ -33,11 +35,10 @@ def create(self, subset_name, instance_data, pre_create_data):
instance_node = hou.node(instance.get("instance_node"))

ext = pre_create_data.get("image_format")

filepath = "{renders_dir}{subset_name}/{subset_name}.$F4.{ext}".format(
renders_dir=hou.text.expandString("$HIP/pyblish/renders/"),
subset_name=subset_name,
ext=ext,

filepath = self.render_staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=ext
)

parms = {
Expand All @@ -48,11 +49,10 @@ def create(self, subset_name, instance_data, pre_create_data):
}

if pre_create_data.get("export_job"):
ifd_filepath = \
"{export_dir}{subset_name}/{subset_name}.$F4.ifd".format(
export_dir=hou.text.expandString("$HIP/pyblish/ifd/"),
subset_name=subset_name,
)
ifd_filepath = self.ifd_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)

parms["soho_outputmode"] = 1
parms["soho_diskfile"] = ifd_filepath

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class CreatePointCache(plugin.HoudiniCreator):
label = "PointCache (Abc)"
family = "pointcache"
icon = "gears"
staging_dir = "$HIP/ayon/{product_name}/{product_name}.abc"

def create(self, subset_name, instance_data, pre_create_data):
instance_data.pop("active", None)
Expand All @@ -27,15 +28,19 @@ def create(self, subset_name, instance_data, pre_create_data):
pre_create_data)

instance_node = hou.node(instance.get("instance_node"))

filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)

parms = {
"use_sop_path": True,
"build_from_path": True,
"path_attrib": "path",
"prim_to_detail_pattern": "cbId",
"format": 2,
"facesets": 0,
"filename": hou.text.expandString(
"$HIP/pyblish/{}.abc".format(subset_name))
"filename": filepath
}

if self.selected_nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class CreateRedshiftProxy(plugin.HoudiniCreator):
label = "Redshift Proxy"
family = "redshiftproxy"
icon = "magic"
staging_dir = "$HIP/ayon"

def create(self, subset_name, instance_data, pre_create_data):

Expand All @@ -36,8 +37,12 @@ def create(self, subset_name, instance_data, pre_create_data):

instance_node = hou.node(instance.get("instance_node"))

filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)

parms = {
"RS_archive_file": '$HIP/pyblish/{}.$F4.rs'.format(subset_name),
"RS_archive_file": filepath,
}

if self.selected_nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class CreateRedshiftROP(plugin.HoudiniCreator):
family = "redshift_rop"
icon = "magic"
ext = "exr"
render_staging_dir = "$HIP/ayon/{product_name}/render/{product_name}.$AOV.$F4.{ext}"
rs_dir = "$HIP/ayon/{product_name}/rs/{product_name}.$F4.rs"

# Default to split export and render jobs
split_render = True
Expand Down Expand Up @@ -56,10 +58,10 @@ def create(self, subset_name, instance_data, pre_create_data):
ipr_rop.parm("linked_rop").set(instance_node.path())

ext = pre_create_data.get("image_format")
filepath = "{renders_dir}{subset_name}/{subset_name}.{fmt}".format(
renders_dir=hou.text.expandString("$HIP/pyblish/renders/"),
subset_name=subset_name,
fmt="${aov}.$F4.{ext}".format(aov="AOV", ext=ext)

filepath = self.render_staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=ext
)

ext_format_index = {"exr": 0, "tif": 1, "jpg": 2, "png": 3}
Expand All @@ -82,8 +84,10 @@ def create(self, subset_name, instance_data, pre_create_data):
camera = node.path()
parms["RS_renderCamera"] = camera or ""

export_dir = hou.text.expandString("$HIP/pyblish/rs/")
rs_filepath = f"{export_dir}{subset_name}/{subset_name}.$F4.rs"
rs_filepath = self.rs_dir.format(
product_name="`chs(\"subset\")`" # keep dynamic link to subset
)

parms["RS_archive_file"] = rs_filepath

if pre_create_data.get("split_render", self.split_render):
Expand Down
10 changes: 5 additions & 5 deletions client/ayon_core/hosts/houdini/plugins/create/create_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ class CreateReview(plugin.HoudiniCreator):
label = "Review"
family = "review"
icon = "video-camera"
staging_dir = "$HIP/ayon/{product_name}/{product_name}.$F4.{ext}"

def create(self, subset_name, instance_data, pre_create_data):

Expand All @@ -31,10 +32,9 @@ def create(self, subset_name, instance_data, pre_create_data):

frame_range = hou.playbar.frameRange()

filepath = "{root}/{subset}/{subset}.$F4.{ext}".format(
root=hou.text.expandString("$HIP/pyblish"),
subset="`chs(\"subset\")`", # keep dynamic link to subset
ext=pre_create_data.get("image_format") or "png"
filepath = self.staging_dir.format(
product_name="`chs(\"subset\")`", # keep dynamic link to subset
ext=pre_create_data.get("image_format", "png")
)

parms = {
Expand Down Expand Up @@ -134,7 +134,7 @@ def get_pre_create_attr_defs(self):
def set_colorcorrect_to_default_view_space(self,
instance_node):
"""Set ociocolorspace to the default output space."""
from ayon_core.hosts.houdini.api.colorspace import get_default_display_view_colorspace # noqa
from openpype.hosts.houdini.api.colorspace import get_default_display_view_colorspace # noqa

# set Color Correction parameter to OpenColorIO
instance_node.setParms({"colorcorrect": 2})
Expand Down
Loading