moved get creator by name to pipeline.create

This commit is contained in:
Jakub Trllo 2022-08-23 18:21:47 +02:00
parent e2c9543761
commit da80b2506e
3 changed files with 40 additions and 18 deletions

View file

@ -769,7 +769,7 @@ def BuildWorkfile():
return BuildWorkfile() return BuildWorkfile()
@with_pipeline_io @deprecated("openpype.pipeline.create.get_legacy_creator_by_name")
def get_creator_by_name(creator_name, case_sensitive=False): def get_creator_by_name(creator_name, case_sensitive=False):
"""Find creator plugin by name. """Find creator plugin by name.
@ -780,23 +780,13 @@ def get_creator_by_name(creator_name, case_sensitive=False):
Returns: Returns:
Creator: Return first matching plugin or `None`. Creator: Return first matching plugin or `None`.
Deprecated:
Function will be removed after release version 3.16.*
""" """
from openpype.pipeline import discover_legacy_creator_plugins from openpype.pipeline.create import get_legacy_creator_by_name
# Lower input creator name if is not case sensitive return get_legacy_creator_by_name(creator_name, case_sensitive)
if not case_sensitive:
creator_name = creator_name.lower()
for creator_plugin in discover_legacy_creator_plugins():
_creator_name = creator_plugin.__name__
# Lower creator plugin name if is not case sensitive
if not case_sensitive:
_creator_name = _creator_name.lower()
if _creator_name == creator_name:
return creator_plugin
return None
@deprecated @deprecated

View file

@ -9,8 +9,10 @@ from .creator_plugins import (
AutoCreator, AutoCreator,
HiddenCreator, HiddenCreator,
discover_creator_plugins,
discover_legacy_creator_plugins, discover_legacy_creator_plugins,
get_legacy_creator_by_name,
discover_creator_plugins,
register_creator_plugin, register_creator_plugin,
deregister_creator_plugin, deregister_creator_plugin,
register_creator_plugin_path, register_creator_plugin_path,
@ -38,8 +40,10 @@ __all__ = (
"AutoCreator", "AutoCreator",
"HiddenCreator", "HiddenCreator",
"discover_creator_plugins",
"discover_legacy_creator_plugins", "discover_legacy_creator_plugins",
"get_legacy_creator_by_name",
"discover_creator_plugins",
"register_creator_plugin", "register_creator_plugin",
"deregister_creator_plugin", "deregister_creator_plugin",
"register_creator_plugin_path", "register_creator_plugin_path",

View file

@ -458,6 +458,34 @@ def discover_legacy_creator_plugins():
return plugins return plugins
def get_legacy_creator_by_name(creator_name, case_sensitive=False):
"""Find creator plugin by name.
Args:
creator_name (str): Name of creator class that should be returned.
case_sensitive (bool): Match of creator plugin name is case sensitive.
Set to `False` by default.
Returns:
Creator: Return first matching plugin or `None`.
"""
# Lower input creator name if is not case sensitive
if not case_sensitive:
creator_name = creator_name.lower()
for creator_plugin in discover_legacy_creator_plugins():
_creator_name = creator_plugin.__name__
# Lower creator plugin name if is not case sensitive
if not case_sensitive:
_creator_name = _creator_name.lower()
if _creator_name == creator_name:
return creator_plugin
return None
def register_creator_plugin(plugin): def register_creator_plugin(plugin):
if issubclass(plugin, BaseCreator): if issubclass(plugin, BaseCreator):
register_plugin(BaseCreator, plugin) register_plugin(BaseCreator, plugin)