use asset entity data for get_frame_range

This commit is contained in:
Kayla Man 2023-10-20 11:43:30 +08:00
parent 14084851af
commit 8369dfddc9
2 changed files with 15 additions and 8 deletions

View file

@ -234,22 +234,28 @@ def reset_scene_resolution():
set_scene_resolution(width, height) set_scene_resolution(width, height)
def get_frame_range() -> Union[Dict[str, Any], None]: def get_frame_range(asset_doc=None) -> Union[Dict[str, Any], None]:
"""Get the current assets frame range and handles. """Get the current assets frame range and handles.
Args:
asset_doc (dict): Asset Entity Data
Returns: Returns:
dict: with frame start, frame end, handle start, handle end. dict: with frame start, frame end, handle start, handle end.
""" """
# Set frame start/end # Set frame start/end
asset = get_current_project_asset() if asset_doc is None:
frame_start = asset["data"].get("frameStart") asset_doc = get_current_project_asset()
frame_end = asset["data"].get("frameEnd")
data = asset_doc["data"]
frame_start = data.get("frameStart")
frame_end = data.get("frameEnd")
if frame_start is None or frame_end is None: if frame_start is None or frame_end is None:
return return
handle_start = asset["data"].get("handleStart", 0) handle_start = data.get("handleStart", 0)
handle_end = asset["data"].get("handleEnd", 0) handle_end = data.get("handleEnd", 0)
return { return {
"frameStart": frame_start, "frameStart": frame_start,
"frameEnd": frame_end, "frameEnd": frame_end,

View file

@ -37,10 +37,11 @@ class ValidateFrameRange(pyblish.api.InstancePlugin,
def process(self, instance): def process(self, instance):
if not self.is_active(instance.data): if not self.is_active(instance.data):
self.log.info("Skipping validation...") self.log.debug("Skipping Validate Frame Range...")
return return
frame_range = get_frame_range() frame_range = get_frame_range(
asset_doc=instance.data["assetEntity"])
inst_frame_start = instance.data.get("frameStart") inst_frame_start = instance.data.get("frameStart")
inst_frame_end = instance.data.get("frameEnd") inst_frame_end = instance.data.get("frameEnd")