Skip to content
Snippets Groups Projects

:bug: Catch exception when no framerange could be retrieved from Shotgrid and...

Merged Corentin requested to merge develop into main
1 file
+ 7
3
Compare changes
  • Side-by-side
  • Inline
@@ -42,7 +42,8 @@ def sanity_check(context):
if not framerange:
try:
start, end = _get_framerange_from_shotgrid(shot)
except ValueError:
except ValueError as e:
errors["framerange"] = (False, str(e))
skip_framerange = True
else:
shot.set_metadata("framerange", [start, end])
@@ -149,7 +150,7 @@ def _publish_cache(element):
def _get_framerange_from_shotgrid(shot):
project = shot.project
if not project.use_tracker or not project.tracker == "shotgrid":
raise ValueError(f"The project {project} does not use Shotgrid.")
raise ValueError(f"The project {project} does not use Shotgrid. Impossible to check the framerange. The scene framerange will be used.")
_settings = json.loads(project.tracker_settings)
server = _settings["server"]
@@ -165,7 +166,10 @@ def _get_framerange_from_shotgrid(shot):
filters = [["project", "is", sg_project], ["cached_display_name", "is", shot.folder_name]]
sg_shot = sg.find_one("Shot", filters=filters, fields=["sg_cut_duration"])
if not sg_shot:
raise ValueError("Shot not found on shotgrid")
raise ValueError(f"The shot {shot.folder_name} could not be found on Shotgrid. Impossible to check the framerange. The scene framerange will be used.")
if not sg_shot["sg_cut_duration"]:
raise ValueError(f"The shot {shot.folder_name} has not framerange set on Shotgrid. Impossible to check the framerange. The scene framerange will be used.")
duration = sg_shot["sg_cut_duration"] + 1
start = 1001
Loading