Flame: exctracting otio file

This commit is contained in:
Jakub Jezek 2022-01-11 12:32:53 +01:00
parent 4f4efea936
commit 65fe3a28bb
No known key found for this signature in database
GPG key ID: D8548FBF690B100A

View file

@ -0,0 +1,43 @@
import os
import pyblish.api
import openpype.api
import opentimelineio as otio
class ExtractOTIOFile(openpype.api.Extractor):
"""
Extractor export OTIO file
"""
label = "Extract OTIO file"
order = pyblish.api.ExtractorOrder - 0.45
families = ["workfile"]
hosts = ["flame"]
def process(self, instance):
# create representation data
if "representations" not in instance.data:
instance.data["representations"] = []
name = instance.data["name"]
staging_dir = self.staging_dir(instance)
otio_timeline = instance.context.data["otioTimeline"]
# create otio timeline representation
otio_file_name = name + ".otio"
otio_file_path = os.path.join(staging_dir, otio_file_name)
# export otio file to temp dir
otio.adapters.write_to_file(otio_timeline, otio_file_path)
representation_otio = {
'name': "otio",
'ext': "otio",
'files': otio_file_name,
"stagingDir": staging_dir,
}
instance.data["representations"].append(representation_otio)
self.log.info("Added OTIO file representation: {}".format(
representation_otio))