implement HoudiniExtractorPlugin and use it in all extractor plugins

This commit is contained in:
MustafaJafar 2024-05-31 18:11:50 +03:00
parent 1a5116600b
commit 9074120b6a
15 changed files with 31 additions and 15 deletions

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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

View file

@ -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"]

View file

@ -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"

View file

@ -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"

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"