integrate thumbnail can use context thumbnail (if is available)

This commit is contained in:
iLLiCiTiT 2022-10-28 13:08:01 +02:00
parent 6c80a7f81f
commit 831023b302

View file

@ -33,6 +33,8 @@ class IntegrateThumbnails(pyblish.api.InstancePlugin):
] ]
def process(self, instance): def process(self, instance):
context_thumbnail_path = instance.context.get("thumbnailPath")
env_key = "AVALON_THUMBNAIL_ROOT" env_key = "AVALON_THUMBNAIL_ROOT"
thumbnail_root_format_key = "{thumbnail_root}" thumbnail_root_format_key = "{thumbnail_root}"
thumbnail_root = os.environ.get(env_key) or "" thumbnail_root = os.environ.get(env_key) or ""
@ -66,37 +68,43 @@ class IntegrateThumbnails(pyblish.api.InstancePlugin):
).format(env_key)) ).format(env_key))
return return
version_id = None
thumb_repre = None thumb_repre = None
thumb_repre_anatomy_data = None thumb_repre_anatomy_data = None
for repre_info in published_repres.values(): for repre_info in published_repres.values():
repre = repre_info["representation"] repre = repre_info["representation"]
if version_id is None:
version_id = repre["parent"]
if repre["name"].lower() == "thumbnail": if repre["name"].lower() == "thumbnail":
thumb_repre = repre thumb_repre = repre
thumb_repre_anatomy_data = repre_info["anatomy_data"] thumb_repre_anatomy_data = repre_info["anatomy_data"]
break break
# Use context thumbnail (if is available)
if not thumb_repre: if not thumb_repre:
self.log.debug( self.log.debug(
"There is not representation with name \"thumbnail\"" "There is not representation with name \"thumbnail\""
) )
return src_full_path = context_thumbnail_path
else:
# Get full path to thumbnail file from representation
src_full_path = os.path.normpath(thumb_repre["data"]["path"])
version = get_version_by_id(project_name, thumb_repre["parent"])
if not version:
raise AssertionError(
"There does not exist version with id {}".format(
str(thumb_repre["parent"])
)
)
# Get full path to thumbnail file from representation
src_full_path = os.path.normpath(thumb_repre["data"]["path"])
if not os.path.exists(src_full_path): if not os.path.exists(src_full_path):
self.log.warning("Thumbnail file was not found. Path: {}".format( self.log.warning("Thumbnail file was not found. Path: {}".format(
src_full_path src_full_path
)) ))
return return
version = get_version_by_id(project_name, version_id)
if not version:
raise AssertionError(
"There does not exist version with id {}".format(
str(version_id)
)
)
filename, file_extension = os.path.splitext(src_full_path) filename, file_extension = os.path.splitext(src_full_path)
# Create id for mongo entity now to fill anatomy template # Create id for mongo entity now to fill anatomy template
thumbnail_doc = new_thumbnail_doc() thumbnail_doc = new_thumbnail_doc()