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