diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index 0e2308e948..9c6bba925a 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- """Houdini specific Avalon/Pyblish plugin definitions.""" -import os import sys from abc import ( ABCMeta @@ -393,22 +392,3 @@ class HoudiniExtractorPlugin(publish.Extractor): hosts = ["houdini"] settings_category = SETTINGS_CATEGORY - - def validate_expected_frames(self, instance, staging_dir): - """ - Validate all expected files in `instance.data["frames"]` exist in - the staging directory. - """ - filenames = instance.data["frames"] - if isinstance(filenames, str): - # Single frame - filenames = [filenames] - - missing_filenames = [] - for filename in filenames: - path = os.path.join(staging_dir, filename) - if not os.path.isfile(path): - missing_filenames.append(filename) - if missing_filenames: - raise RuntimeError(f"Missing frames: {missing_filenames}") - diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_rop.py index 7b9e389f79..ed0c3f9855 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_rop.py @@ -58,6 +58,24 @@ class ExtractROP(plugin.HoudiniExtractorPlugin): instance.data.setdefault("representations", []).append(representation) instance.data["stagingDir"] = staging_dir + def validate_expected_frames(self, instance, staging_dir): + """ + Validate all expected files in `instance.data["frames"]` exist in + the staging directory. + """ + filenames = instance.data["frames"] + if isinstance(filenames, str): + # Single frame + filenames = [filenames] + + missing_filenames = [] + for filename in filenames: + path = os.path.join(staging_dir, filename) + if not os.path.isfile(path): + missing_filenames.append(filename) + if missing_filenames: + raise RuntimeError(f"Missing frames: {missing_filenames}") + def update_representation_data(self, instance: pyblish.api.Instance, representation: dict):