Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagepy
# Example Python script for pre ingest load hook (pre_ingest_loadexport.py):
import sys
import re

'''
Example output from das element:

[{
    'name': 'awesome_element_00044',
    'category': 'fire',
    'category_id': 'Q3196',
    'channel': 3,
    'height': 1080,
    'width': 192,
    'pixel_aspect': '1',
    'frame_first': 1001,
    'frame_last': 1049,
    'frame_count': 50,
    'frame_rate': '25',
    'created_at': '2021-10-01 09:26',
    'media_type': 'movie',
    'number': '00044',
    'colorspace': 'sRGB',
    'colorspace_source': 'sRGB',
    'popularity': 23,
    'tags': 'fire, flame, some other tag',
    'path': '/path/to/server/awesome_element_0044/main_1920x1080_srgb/awesome_element_0044.mov',
    'path_thumbnail': '/path/to/server/awesome_element_0044/thumb_960x540/awesome_element_0044.jpg',
    'path_proxy': '/path/to/server/awesome_element_0044/proxy_1920x1080/awesome_element_0044.mov',
    'path_filmstrip': '/path/to/server/awesome_element_0044/filmstrip_11520x270/awesome_element_0044.jpg'
    'path_source': '/server/path/to/source_file.mov',
}]


Example output format for Shotgrid:

"Version Name","Frame Range","Frame Count","First Frame","Frame Rate","Last Frame","Path to Frames","Tags"
"awesome_element_0044","1001-1049","50","1001","25","1049","/path/to/server/awesome_element_0044/main_1920x1080_srgb/awesome_element_0044.mov","fire, flame, some other tag"

'''


def main(*args):
    # args will be a List of Dicts:
    items = args[0]
    result = []

    for item in items:
        frame_range = '{}-{}'.format(item['frame_first'], item['frame_last'])
        sg_item = {
            "Version Name": item['name'],
            "Frame Count": item['frame_count'],
            "First Frame": item['frame_first'],
            "Last Frame": item['frame_last'],
            "Frame Rate": item['frame_rate'],
            "Frame Range": frame_range,
            "Path to Frames": item['path'],
            "Tags": item['tags'].replace(',', ', '),
        }
        result.append(sg_item)
    return result


if __name__ == '__main__':
    main(sys.argv[1:])

...