# # :copyright: Copyright (c) 2020 ftrack
-session = ftrack_api.Session()
+logger = logging.getLogger('create_test_media')
PROJECT_NAME = 'Encoding test project'
MEDIA_DIRECTORY = os.path.dirname(__file__)
MEDIA_2160 = os.path.join(MEDIA_DIRECTORY, 'ftrackreview-mp4-2160.mp4')
-def upload_media(asset_version, file_path, name='ftrackreview-mp4'):
+def upload_media(session, asset_version, file_path, name='ftrackreview-mp4'):
server_location = session.get('Location', ftrack_api.symbol.SERVER_LOCATION_ID)
component = asset_version.create_component(
-def create_asset(parent, name, asset_type=None):
+def create_asset(session, parent, name, asset_type=None):
asset_type = session.query('AssetType where name is "Upload"').one()
+def clean_up(session, project):
previous_assets = session.query('Asset where name like "Test %" and context_id is "{}"'.format(project['id']))
for asset in previous_assets:
+ logger.info('Creating or cleaning up project "{}"'.format(PROJECT_NAME))
project = session.ensure('Project', {
+ clean_up(session, project)
- asset_version = create_asset(project, 'Test 1 (Encoding)')
- component = upload_media(asset_version, MEDIA_720)
+ logger.info('Creating asset 1')
+ asset_version = create_asset(session, project, 'Test 1 (Encoding)')
+ component = upload_media(session, asset_version, MEDIA_720)
component['metadata']['ftr_meta'] = 'encoding'
- asset_version = create_asset(project, 'Test 2 (Processing additional resolutions)')
+ logger.info('Creating asset 2')
+ asset_version = create_asset(session, project, 'Test 2 (Processing additional resolutions)')
asset_version.create_thumbnail(THUMBNAIL_FILE)
- component_1 = upload_media(asset_version, MEDIA_720)
+ component_1 = upload_media(session, asset_version, MEDIA_720)
component_1['metadata']['ftr_meta'] = json.dumps({
component_2['metadata']['ftr_meta'] = 'encoding'
- asset_version = create_asset(project, 'Test 3 (Complete)')
+ logger.info('Creating asset 3')
+ asset_version = create_asset(session, project, 'Test 3 (Complete)')
asset_version.create_thumbnail(THUMBNAIL_FILE)
- component_1 = upload_media(asset_version, MEDIA_720)
+ component_1 = upload_media(session, asset_version, MEDIA_720)
component_1['metadata']['ftr_meta'] = json.dumps({
- component_2 = upload_media(asset_version, MEDIA_1080, 'ftrackreview-mp4-1080')
+ component_2 = upload_media(session, asset_version, MEDIA_1080, 'ftrackreview-mp4-1080')
component_2['metadata']['ftr_meta'] = json.dumps({
+ logger.info('Completed successfully')
if __name__ == '__main__':
+ logging.basicConfig(level=logging.INFO)
+ session = ftrack_api.Session(auto_connect_event_hub=True)