Source code for cgl.plugins.otio.tools.resolve.resolve_exr_media_linker

import os
import glob

import opentimelineio as otio

[docs] def register_exr_media_linker(): active_manifest = otio.plugins.manifest.ActiveManifest() for linker in active_manifest.media_linkers: if linker.name == "resolve_exr_media_linker": return print("registering media linker", __file__) linker = otio.media_linker.MediaLinker("resolve_exr_media_linker", __file__) active_manifest.media_linkers.insert(0, linker)
[docs] def get_exr_last_frame(dirname, name_prefix, name_suffix, frame_format): if not os.path.exists(dirname): return None glob_str = f"{dirname}/{name_prefix}*{name_suffix}" files = glob.glob(glob_str) if not files: return None frames = {} for f in files: frame_number = os.path.basename(f).replace(name_prefix, "").replace(name_suffix, "") if not frame_number.isdigit(): return None frames[int(frame_number)] = f if not frames: return None last_frame = max(frames.keys()) return frame_format % last_frame