Merge branch 'develop' into enhancement/OP-5243_3dsmax-setting-scene-length

This commit is contained in:
Kayla Man 2023-03-21 17:53:33 +08:00
commit 36ae6d28da
4 changed files with 22 additions and 11 deletions

View file

@ -60,6 +60,8 @@ class PreIntegrateThumbnails(pyblish.api.InstancePlugin):
if not found_profile:
return
thumbnail_repre.setdefault("tags", [])
if not found_profile["integrate_thumbnail"]:
if "delete" not in thumbnail_repre["tags"]:
thumbnail_repre["tags"].append("delete")

View file

@ -327,7 +327,7 @@ class InventoryModel(TreeModel):
project_name, repre_id
)
if not representation:
not_found["representation"].append(group_items)
not_found["representation"].extend(group_items)
not_found_ids.append(repre_id)
continue
@ -335,7 +335,7 @@ class InventoryModel(TreeModel):
project_name, representation["parent"]
)
if not version:
not_found["version"].append(group_items)
not_found["version"].extend(group_items)
not_found_ids.append(repre_id)
continue
@ -348,13 +348,13 @@ class InventoryModel(TreeModel):
subset = get_subset_by_id(project_name, version["parent"])
if not subset:
not_found["subset"].append(group_items)
not_found["subset"].extend(group_items)
not_found_ids.append(repre_id)
continue
asset = get_asset_by_id(project_name, subset["parent"])
if not asset:
not_found["asset"].append(group_items)
not_found["asset"].extend(group_items)
not_found_ids.append(repre_id)
continue
@ -380,11 +380,11 @@ class InventoryModel(TreeModel):
self.add_child(group_node, parent=parent)
for _group_items in group_items:
for item in group_items:
item_node = Item()
item_node["Name"] = ", ".join(
[item["objectName"] for item in _group_items]
)
item_node.update(item)
item_node["Name"] = item.get("objectName", "NO NAME")
item_node["isNotFound"] = True
self.add_child(item_node, parent=group_node)
for repre_id, group_dict in sorted(grouped.items()):

View file

@ -80,9 +80,16 @@ class SceneInventoryView(QtWidgets.QTreeView):
self.setStyleSheet("QTreeView {}")
def _build_item_menu_for_selection(self, items, menu):
# Exclude items that are "NOT FOUND" since setting versions, updating
# and removal won't work for those items.
items = [item for item in items if not item.get("isNotFound")]
if not items:
return
# An item might not have a representation, for example when an item
# is listed as "NOT FOUND"
repre_ids = {
item["representation"]
for item in items

View file

@ -30,9 +30,11 @@ class VersionDelegate(QtWidgets.QStyledItemDelegate):
def displayText(self, value, locale):
if isinstance(value, HeroVersionType):
return lib.format_version(value, True)
assert isinstance(value, numbers.Integral), (
"Version is not integer. \"{}\" {}".format(value, str(type(value)))
)
if not isinstance(value, numbers.Integral):
# For cases where no version is resolved like NOT FOUND cases
# where a representation might not exist in current database
return
return lib.format_version(value)
def paint(self, painter, option, index):