selection object have method to get project settings

This commit is contained in:
Jakub Trllo 2024-06-10 14:21:34 +02:00
parent 91d63b1165
commit ab722f6ae6

View file

@ -3,6 +3,7 @@ import warnings
import ayon_api import ayon_api
from ayon_core.settings import get_studio_settings, get_project_settings
from ayon_core.pipeline.plugin_discover import ( from ayon_core.pipeline.plugin_discover import (
discover, discover,
register_plugin, register_plugin,
@ -40,7 +41,8 @@ class LauncherActionSelection:
task_name=None, task_name=None,
project_entity=None, project_entity=None,
folder_entity=None, folder_entity=None,
task_entity=None task_entity=None,
project_settings=None,
): ):
self._project_name = project_name self._project_name = project_name
self._folder_id = folder_id self._folder_id = folder_id
@ -53,6 +55,8 @@ class LauncherActionSelection:
self._folder_entity = folder_entity self._folder_entity = folder_entity
self._task_entity = task_entity self._task_entity = task_entity
self._project_settings = project_settings
def __getitem__(self, key): def __getitem__(self, key):
warnings.warn( warnings.warn(
( (
@ -255,6 +259,22 @@ class LauncherActionSelection:
) )
return self._task_entity return self._task_entity
def get_project_settings(self):
"""Project settings for the selection.
Returns:
dict[str, Any]: Project settings or studio settings if
project is not selected.
"""
if self._project_settings is None:
if self._project_name is None:
settings = get_studio_settings()
else:
settings = get_project_settings(self._project_name)
self._project_settings = settings
return self._project_settings
@property @property
def is_project_selected(self): def is_project_selected(self):
"""Return whether a project is selected. """Return whether a project is selected.