Source code for cgl.plugins.otio.tools.find_edit_files

import os
import json

[docs] def resolve_first_path(root, paths): for item in paths: print(item) if not item: continue if not isinstance(item, list): item = [item] for relative_path in item: path = os.path.join(root, relative_path).replace("\\", '/') if os.path.exists(path): return path
[docs] def resolve_animatic_files_from_msd(path_to_msd, project_root): data = {} with open(path_to_msd) as f: data = json.load(f) assert data source_xml_path = data.get("source_files", {}).get(".xml", None) source_aaf_path = data.get("source_files", {}).get(".aaf", None) source_mp4_path = data.get("source_files", {}).get(".mp4", None) source_mov_path = data.get("source_files", {}).get(".mov", None) source_wav_path = data.get("source_files", {}).get(".wav", None) render_xml_path = data.get("render_files", {}).get(".xml", None) render_aaf_path = data.get("render_files", {}).get(".aaf", None) render_mp4_path = data.get("render_files", {}).get(".mp4", None) render_mov_path = data.get("render_files", {}).get(".mov", None) render_wav_path = data.get("render_files", {}).get(".wav", None) edit_full_path = resolve_first_path(project_root, [render_xml_path, render_aaf_path, source_xml_path, source_aaf_path]) mp4_full_path = resolve_first_path(project_root, [render_mp4_path, render_mov_path,source_mp4_path, source_mov_path]) wav_full_path = resolve_first_path(project_root, [render_wav_path, source_wav_path]) return edit_full_path, mp4_full_path, wav_full_path