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()
@with_pipeline_io
@deprecated("openpype.pipeline.create.get_legacy_creator_by_name")
def get_creator_by_name(creator_name, case_sensitive=False):
"""Find creator plugin by name.
@ -780,23 +780,13 @@ def get_creator_by_name(creator_name, case_sensitive=False):
Returns:
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
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
return get_legacy_creator_by_name(creator_name, case_sensitive)
@deprecated

View file

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

View file

@ -458,6 +458,34 @@ def discover_legacy_creator_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):
if issubclass(plugin, BaseCreator):
register_plugin(BaseCreator, plugin)