mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
reduced information that is used in loader for action item
This commit is contained in:
parent
5e3b38376c
commit
723932cfac
5 changed files with 33 additions and 72 deletions
|
|
@ -324,11 +324,6 @@ class ActionItem:
|
|||
options (Union[list[AbstractAttrDef], list[qargparse.QArgument]]):
|
||||
Action options. Note: 'qargparse' is considered as deprecated.
|
||||
order (int): Action order.
|
||||
project_name (str): Project name.
|
||||
folder_ids (list[str]): Folder ids.
|
||||
product_ids (list[str]): Product ids.
|
||||
version_ids (list[str]): Version ids.
|
||||
representation_ids (list[str]): Representation ids.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
|
|
@ -339,11 +334,6 @@ class ActionItem:
|
|||
tooltip,
|
||||
options,
|
||||
order,
|
||||
project_name,
|
||||
folder_ids,
|
||||
product_ids,
|
||||
version_ids,
|
||||
representation_ids,
|
||||
):
|
||||
self.identifier = identifier
|
||||
self.label = label
|
||||
|
|
@ -351,11 +341,6 @@ class ActionItem:
|
|||
self.tooltip = tooltip
|
||||
self.options = options
|
||||
self.order = order
|
||||
self.project_name = project_name
|
||||
self.folder_ids = folder_ids
|
||||
self.product_ids = product_ids
|
||||
self.version_ids = version_ids
|
||||
self.representation_ids = representation_ids
|
||||
|
||||
def _options_to_data(self):
|
||||
options = self.options
|
||||
|
|
@ -382,11 +367,6 @@ class ActionItem:
|
|||
"tooltip": self.tooltip,
|
||||
"options": options,
|
||||
"order": self.order,
|
||||
"project_name": self.project_name,
|
||||
"folder_ids": self.folder_ids,
|
||||
"product_ids": self.product_ids,
|
||||
"version_ids": self.version_ids,
|
||||
"representation_ids": self.representation_ids,
|
||||
}
|
||||
|
||||
@classmethod
|
||||
|
|
@ -1013,11 +993,11 @@ class FrontendLoaderController(_BaseLoaderController):
|
|||
@abstractmethod
|
||||
def trigger_action_item(
|
||||
self,
|
||||
identifier,
|
||||
options,
|
||||
project_name,
|
||||
version_ids,
|
||||
representation_ids
|
||||
identifier: str,
|
||||
options: dict[str, Any],
|
||||
project_name: str,
|
||||
entity_ids: set[str],
|
||||
entity_type: str,
|
||||
):
|
||||
"""Trigger action item.
|
||||
|
||||
|
|
@ -1038,10 +1018,10 @@ class FrontendLoaderController(_BaseLoaderController):
|
|||
identifier (str): Action identifier.
|
||||
options (dict[str, Any]): Action option values from UI.
|
||||
project_name (str): Project name.
|
||||
version_ids (Iterable[str]): Version ids.
|
||||
representation_ids (Iterable[str]): Representation ids.
|
||||
"""
|
||||
entity_ids (set[str]): Selected entity ids.
|
||||
entity_type (str): Selected entity type.
|
||||
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
|
|
|
|||
|
|
@ -309,14 +309,14 @@ class LoaderController(BackendLoaderController, FrontendLoaderController):
|
|||
identifier,
|
||||
options,
|
||||
project_name,
|
||||
version_ids,
|
||||
representation_ids
|
||||
entity_ids,
|
||||
entity_type,
|
||||
):
|
||||
if self._sitesync_model.is_sitesync_action(identifier):
|
||||
self._sitesync_model.trigger_action_item(
|
||||
identifier,
|
||||
project_name,
|
||||
representation_ids
|
||||
entity_ids,
|
||||
)
|
||||
return
|
||||
|
||||
|
|
@ -324,8 +324,8 @@ class LoaderController(BackendLoaderController, FrontendLoaderController):
|
|||
identifier,
|
||||
options,
|
||||
project_name,
|
||||
version_ids,
|
||||
representation_ids
|
||||
entity_ids,
|
||||
entity_type,
|
||||
)
|
||||
|
||||
# Selection model wrappers
|
||||
|
|
|
|||
|
|
@ -113,11 +113,11 @@ class LoaderActionsModel:
|
|||
|
||||
def trigger_action_item(
|
||||
self,
|
||||
identifier,
|
||||
options,
|
||||
project_name,
|
||||
version_ids,
|
||||
representation_ids
|
||||
identifier: str,
|
||||
options: dict[str, Any],
|
||||
project_name: str,
|
||||
entity_ids: set[str],
|
||||
entity_type: str,
|
||||
):
|
||||
"""Trigger action by identifier.
|
||||
|
||||
|
|
@ -131,10 +131,10 @@ class LoaderActionsModel:
|
|||
identifier (str): Loader identifier.
|
||||
options (dict[str, Any]): Loader option values.
|
||||
project_name (str): Project name.
|
||||
version_ids (Iterable[str]): Version ids.
|
||||
representation_ids (Iterable[str]): Representation ids.
|
||||
"""
|
||||
entity_ids (set[str]): Entity ids.
|
||||
entity_type (str): Entity type.
|
||||
|
||||
"""
|
||||
event_data = {
|
||||
"identifier": identifier,
|
||||
"id": uuid.uuid4().hex,
|
||||
|
|
@ -145,23 +145,24 @@ class LoaderActionsModel:
|
|||
ACTIONS_MODEL_SENDER,
|
||||
)
|
||||
loader = self._get_loader_by_identifier(project_name, identifier)
|
||||
if representation_ids is not None:
|
||||
if entity_type == "representation":
|
||||
error_info = self._trigger_representation_loader(
|
||||
loader,
|
||||
options,
|
||||
project_name,
|
||||
representation_ids,
|
||||
entity_ids,
|
||||
)
|
||||
elif version_ids is not None:
|
||||
elif entity_type == "version":
|
||||
error_info = self._trigger_version_loader(
|
||||
loader,
|
||||
options,
|
||||
project_name,
|
||||
version_ids,
|
||||
entity_ids,
|
||||
)
|
||||
else:
|
||||
raise NotImplementedError(
|
||||
"Invalid arguments to trigger action item")
|
||||
f"Invalid entity type '{entity_type}' to trigger action item"
|
||||
)
|
||||
|
||||
event_data["error_info"] = error_info
|
||||
self._controller.emit_event(
|
||||
|
|
@ -276,11 +277,6 @@ class LoaderActionsModel:
|
|||
self,
|
||||
loader,
|
||||
contexts,
|
||||
project_name,
|
||||
folder_ids=None,
|
||||
product_ids=None,
|
||||
version_ids=None,
|
||||
representation_ids=None,
|
||||
repre_name=None,
|
||||
):
|
||||
label = self._get_action_label(loader)
|
||||
|
|
@ -293,11 +289,6 @@ class LoaderActionsModel:
|
|||
tooltip=self._get_action_tooltip(loader),
|
||||
options=loader.get_options(contexts),
|
||||
order=loader.order,
|
||||
project_name=project_name,
|
||||
folder_ids=folder_ids,
|
||||
product_ids=product_ids,
|
||||
version_ids=version_ids,
|
||||
representation_ids=representation_ids,
|
||||
)
|
||||
|
||||
def _get_loaders(self, project_name):
|
||||
|
|
@ -570,17 +561,11 @@ class LoaderActionsModel:
|
|||
item = self._create_loader_action_item(
|
||||
loader,
|
||||
repre_contexts,
|
||||
project_name=project_name,
|
||||
folder_ids=repre_folder_ids,
|
||||
product_ids=repre_product_ids,
|
||||
version_ids=repre_version_ids,
|
||||
representation_ids=repre_ids,
|
||||
repre_name=repre_name,
|
||||
)
|
||||
action_items.append(item)
|
||||
|
||||
# Product Loaders.
|
||||
version_ids = set(version_context_by_id.keys())
|
||||
product_folder_ids = set()
|
||||
product_ids = set()
|
||||
for product_context in version_context_by_id.values():
|
||||
|
|
@ -592,10 +577,6 @@ class LoaderActionsModel:
|
|||
item = self._create_loader_action_item(
|
||||
loader,
|
||||
version_contexts,
|
||||
project_name=project_name,
|
||||
folder_ids=product_folder_ids,
|
||||
product_ids=product_ids,
|
||||
version_ids=version_ids,
|
||||
)
|
||||
action_items.append(item)
|
||||
|
||||
|
|
|
|||
|
|
@ -439,9 +439,9 @@ class ProductsWidget(QtWidgets.QWidget):
|
|||
self._controller.trigger_action_item(
|
||||
action_item.identifier,
|
||||
options,
|
||||
action_item.project_name,
|
||||
version_ids=action_item.version_ids,
|
||||
representation_ids=action_item.representation_ids,
|
||||
project_name,
|
||||
version_ids,
|
||||
"version",
|
||||
)
|
||||
|
||||
def _on_selection_change(self):
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@ class RepresentationsWidget(QtWidgets.QWidget):
|
|||
self._controller.trigger_action_item(
|
||||
action_item.identifier,
|
||||
options,
|
||||
action_item.project_name,
|
||||
version_ids=action_item.version_ids,
|
||||
representation_ids=action_item.representation_ids,
|
||||
self._selected_project_name,
|
||||
repre_ids,
|
||||
"representation",
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue