diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index 22a2b40dd4..9c6bba925a 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -15,7 +15,8 @@ from ayon_core.pipeline import ( CreatedInstance, AYON_INSTANCE_ID, AVALON_INSTANCE_ID, - load + load, + publish ) from ayon_core.lib import BoolDef @@ -376,3 +377,18 @@ class HoudiniContextPlugin(pyblish.api.ContextPlugin): hosts = ["houdini"] settings_category = SETTINGS_CATEGORY + + +class HoudiniExtractorPlugin(publish.Extractor): + """Base class for Houdini extract plugins. + + Note: + The `HoudiniExtractorPlugin` is a subclass of `publish.Extractor`, + which in turn is a subclass of `pyblish.api.InstancePlugin`. + Should there be a requirement to create an extractor that operates + as a context plugin, it would be beneficial to incorporate + the functionalities present in `publish.Extractor`. + """ + + hosts = ["houdini"] + settings_category = SETTINGS_CATEGORY diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py index ef35a505c4..c4d51c0808 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py @@ -4,7 +4,7 @@ from ayon_houdini.api import lib, plugin from ayon_houdini.api.pipeline import IS_HEADLESS -class ExtractActiveViewThumbnail(plugin.HoudiniInstancePlugin): +class ExtractActiveViewThumbnail(plugin.HoudiniExtractorPlugin): """Set instance thumbnail to a screengrab of current active viewport. This makes it so that if an instance does not have a thumbnail set yet that diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py index 4016dd05fb..e82f07284a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractAlembic(plugin.HoudiniInstancePlugin): +class ExtractAlembic(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Alembic" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py index cb450b9524..a796bbf4b3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractAss(plugin.HoudiniInstancePlugin): +class ExtractAss(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Ass" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py index f867bc98a8..ab8837065d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py @@ -6,7 +6,7 @@ import pyblish.api from ayon_houdini.api import lib, plugin -class ExtractBGEO(plugin.HoudiniInstancePlugin): +class ExtractBGEO(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract BGEO" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py index 41e4e4bb14..cab462aef6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop, splitext -class ExtractComposite(plugin.HoudiniInstancePlugin, +class ExtractComposite(plugin.HoudiniExtractorPlugin, publish.ColormanagedPyblishPluginMixin): order = pyblish.api.ExtractorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py index f12ca666d8..49b3fa07ca 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py @@ -8,7 +8,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractFBX(plugin.HoudiniInstancePlugin): +class ExtractFBX(plugin.HoudiniExtractorPlugin): label = "Extract FBX" families = ["fbx"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py index d93113b0a6..e4449d11f8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py @@ -6,7 +6,7 @@ import pyblish.api from ayon_houdini.api import plugin -class ExtractHDA(plugin.HoudiniInstancePlugin): +class ExtractHDA(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract HDA" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py index fd36759aa7..b424f2e452 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py @@ -6,7 +6,7 @@ import pyblish.api from ayon_houdini.api import plugin -class ExtractMantraIFD(plugin.HoudiniInstancePlugin): +class ExtractMantraIFD(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Mantra ifd" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py index 8fa0cf0d25..bee1bf871f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py @@ -8,7 +8,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractOpenGL(plugin.HoudiniInstancePlugin, +class ExtractOpenGL(plugin.HoudiniExtractorPlugin, publish.ColormanagedPyblishPluginMixin): order = pyblish.api.ExtractorOrder - 0.01 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py index b46f5a15a3..3e8a79df00 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractRedshiftProxy(plugin.HoudiniInstancePlugin): +class ExtractRedshiftProxy(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Redshift Proxy" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py index 62ad394e73..8ff8590650 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractRender(plugin.HoudiniInstancePlugin): +class ExtractRender(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Render" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py index c816a9a4ea..40e6211e63 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractUSD(plugin.HoudiniInstancePlugin): +class ExtractUSD(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract USD" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py index 68f0516c6e..6a377c57cf 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py @@ -152,7 +152,7 @@ def parm_values(overrides): parm.set(value) -class ExtractUSDLayered(plugin.HoudiniInstancePlugin): +class ExtractUSDLayered(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Layered USD" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py index 4afa26036b..a944d81e9b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractVDBCache(plugin.HoudiniInstancePlugin): +class ExtractVDBCache(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract VDB Cache"