mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
Don't use ObjectId in scene inventory view
This commit is contained in:
parent
b2e8d2ff7a
commit
3ae3d01a20
1 changed files with 19 additions and 23 deletions
|
|
@ -4,7 +4,6 @@ from functools import partial
|
|||
|
||||
from qtpy import QtWidgets, QtCore
|
||||
import qtawesome
|
||||
from bson.objectid import ObjectId
|
||||
|
||||
from openpype.client import (
|
||||
get_version_by_id,
|
||||
|
|
@ -84,22 +83,20 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
if not items:
|
||||
return
|
||||
|
||||
repre_ids = []
|
||||
for item in items:
|
||||
item_id = ObjectId(item["representation"])
|
||||
if item_id not in repre_ids:
|
||||
repre_ids.append(item_id)
|
||||
repre_ids = {
|
||||
item["representation"]
|
||||
for item in items
|
||||
}
|
||||
|
||||
project_name = legacy_io.active_project()
|
||||
repre_docs = get_representations(
|
||||
project_name, representation_ids=repre_ids, fields=["parent"]
|
||||
)
|
||||
|
||||
version_ids = []
|
||||
for repre_doc in repre_docs:
|
||||
version_id = repre_doc["parent"]
|
||||
if version_id not in version_ids:
|
||||
version_ids.append(version_id)
|
||||
version_ids = {
|
||||
repre_doc["parent"]
|
||||
for repre_doc in repre_docs
|
||||
}
|
||||
|
||||
loaded_versions = get_versions(
|
||||
project_name, version_ids=version_ids, hero=True
|
||||
|
|
@ -107,18 +104,17 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
|
||||
loaded_hero_versions = []
|
||||
versions_by_parent_id = collections.defaultdict(list)
|
||||
version_parents = []
|
||||
subset_ids = set()
|
||||
for version in loaded_versions:
|
||||
if version["type"] == "hero_version":
|
||||
loaded_hero_versions.append(version)
|
||||
else:
|
||||
parent_id = version["parent"]
|
||||
versions_by_parent_id[parent_id].append(version)
|
||||
if parent_id not in version_parents:
|
||||
version_parents.append(parent_id)
|
||||
subset_ids.add(parent_id)
|
||||
|
||||
all_versions = get_versions(
|
||||
project_name, subset_ids=version_parents, hero=True
|
||||
project_name, subset_ids=subset_ids, hero=True
|
||||
)
|
||||
hero_versions = []
|
||||
versions = []
|
||||
|
|
@ -146,11 +142,11 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
switch_to_versioned = None
|
||||
if has_loaded_hero_versions:
|
||||
def _on_switch_to_versioned(items):
|
||||
repre_ids = []
|
||||
repre_ids = set()
|
||||
for item in items:
|
||||
item_id = ObjectId(item["representation"])
|
||||
item_id = item["representation"]
|
||||
if item_id not in repre_ids:
|
||||
repre_ids.append(item_id)
|
||||
repre_ids.add(item_id)
|
||||
|
||||
repre_docs = get_representations(
|
||||
project_name,
|
||||
|
|
@ -158,13 +154,13 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
fields=["parent"]
|
||||
)
|
||||
|
||||
version_ids = []
|
||||
version_ids = set()
|
||||
version_id_by_repre_id = {}
|
||||
for repre_doc in repre_docs:
|
||||
version_id = repre_doc["parent"]
|
||||
version_id_by_repre_id[repre_doc["_id"]] = version_id
|
||||
if version_id not in version_ids:
|
||||
version_ids.append(version_id)
|
||||
repre_id = str(repre_doc["_id"])
|
||||
version_id_by_repre_id[repre_id] = version_id
|
||||
version_ids.add(version_id)
|
||||
|
||||
hero_versions = get_hero_versions(
|
||||
project_name,
|
||||
|
|
@ -194,7 +190,7 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
version_doc["name"]
|
||||
|
||||
for item in items:
|
||||
repre_id = ObjectId(item["representation"])
|
||||
repre_id = item["representation"]
|
||||
version_id = version_id_by_repre_id.get(repre_id)
|
||||
version_name = version_name_by_id.get(version_id)
|
||||
if version_name is not None:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue