Snippets

Lucas Correia API Example - Create media in encoding state

Updated by Lucas Correia

File create_test_encoding_media.py Modified

  • Ignore whitespace
  • Hide word diff
 MEDIA_720 = os.path.join(MEDIA_DIRECTORY, 'ftrackreview-mp4.mp4')
 MEDIA_1080 = os.path.join(MEDIA_DIRECTORY, 'ftrackreview-mp4-1080.mp4')
 MEDIA_2160 = os.path.join(MEDIA_DIRECTORY, 'ftrackreview-mp4-2160.mp4')
-
+TEST_VIDEO_URL = os.environ.get('TEST_VIDEO_URL')
 
 def upload_media(session, asset_version, file_path, name='ftrackreview-mp4'):
     server_location = session.get('Location', ftrack_api.symbol.SERVER_LOCATION_ID)
     previous_assets = session.query('Asset where name like "Test %" and context_id is "{}"'.format(project['id']))
     for asset in previous_assets:
         session.delete(asset)
+
+    previous_folders = session.query('TypedContext where name is "Folder" and project_id is "{}"'.format(project['id']))
+    for folder in previous_folders:
+        session.delete(folder)
+
     session.commit()
 
 
     set_component_meta(component_1, 1280, 720)
     session.commit()
 
+    if TEST_VIDEO_URL:
+        logger.info('Creating asset 8 - ftrack.review')
+        asset_version = create_asset(session, subfolder, 'Test 8 (ftrack.review location)')
+        asset_version.create_thumbnail(THUMBNAIL_FILE)
+        review_location = session.query('Location where name is "ftrack.review"').one()
+        component_1 = asset_version.create_component(
+            path=TEST_VIDEO_URL,
+            data={'name': 'ftrackreview-mp4'},
+            location=review_location
+        )
+        set_component_meta(component_1, 1280, 720)
+        session.commit()
+    else:
+        logger.info('TEST_VIDEO_URL not set, skipping ftrack.review asset')
+
     logger.info('Completed successfully')
 
 
Updated by Lucas Correia

File create_test_encoding_media.py Modified

  • Ignore whitespace
  • Hide word diff
     })
     session.commit()
 
+    logger.info('Creating asset 7')
+    folder = session.create('Folder', { 'name': 'Folder', 'parent': project })
+    subfolder = session.create('Folder', { 'name': 'Subfolder', 'parent': folder })
+    asset_version = create_asset(session, subfolder, 'Test 7 (In subfolder)')
+    asset_version.create_thumbnail(THUMBNAIL_FILE)
+    component_1 = upload_media(session, asset_version, MEDIA_720)
+    set_component_meta(component_1, 1280, 720)
+    session.commit()
+
     logger.info('Completed successfully')
 
 
Updated by Lucas Correia

File create_test_encoding_media.py Modified

  • Ignore whitespace
  • Hide word diff
     session.commit()
 
 
+def set_component_meta(component, width, height):
+    component['metadata']['ftr_meta'] = json.dumps({
+        'frameIn': 0,
+        'frameOut': 150,
+        'frameRate': 25,
+        'width': width,
+        'height': height,
+    })
+
+
 def main(session):
     logger.info('Creating or cleaning up project "{}"'.format(PROJECT_NAME))
     project = session.ensure('Project', {
     asset_version = create_asset(session, project, 'Test 2 (Processing additional resolutions)')
     asset_version.create_thumbnail(THUMBNAIL_FILE)
     component_1 = upload_media(session, asset_version, MEDIA_720)
-    component_1['metadata']['ftr_meta'] = json.dumps({
-        'frameIn': 0,
-        'frameOut': 150,
-        'frameRate': 25,
-        'width': 1280,
-        'height': 720,
-    })
+    set_component_meta(component_1, 1280, 720)
+
     component_2 = session.create('FileComponent', {
         'version_id': asset_version['id'],
         'name': 'ftrackreview-mp4-1080',
     asset_version = create_asset(session, project, 'Test 3 (Complete)')
     asset_version.create_thumbnail(THUMBNAIL_FILE)
     component_1 = upload_media(session, asset_version, MEDIA_720)
-    component_1['metadata']['ftr_meta'] = json.dumps({
-        'frameIn': 0,
-        'frameOut': 150,
-        'frameRate': 25,
-        'width': 1280,
-        'height': 720,
-    })
+    set_component_meta(component_1, 1280, 720)
+
     component_2 = upload_media(session, asset_version, MEDIA_1080, 'ftrackreview-mp4-1080')
-    component_2['metadata']['ftr_meta'] = json.dumps({
-        'frameIn': 0,
-        'frameOut': 150,
-        'frameRate': 25,
-        'width': 1920,
-        'height': 1080,
-    })
+    set_component_meta(component_2, 1920, 1080)
+
     session.commit()
 
     logger.info('Creating asset 4')
     logger.info('Creating asset 5')
     asset_version = create_asset(session, project, 'Test 5 (is_published = False)')
     asset_version['is_published'] = False
+    component_1 = upload_media(session, asset_version, MEDIA_720)
+    set_component_meta(component_1, 1280, 720)
     session.commit()
 
     logger.info('Creating asset 6')
Updated by Lucas Correia

File create_test_encoding_media.py Modified

  • Ignore whitespace
  • Hide word diff
         'height': 1080,
     })
     session.commit()
-    
+
+    logger.info('Creating asset 4')
+    asset_version = create_asset(session, project, 'Test 4 (No components)')
+    session.commit()
+
+    logger.info('Creating asset 5')
+    asset_version = create_asset(session, project, 'Test 5 (is_published = False)')
+    asset_version['is_published'] = False
+    session.commit()
+
+    logger.info('Creating asset 6')
+    asset_type = session.query('AssetType where name is "Upload"').one()
+    asset = session.create('Asset', {
+        'name': 'Test 6 (No versions)',
+        'type': asset_type,
+        'parent': project
+    })
+    session.commit()
+
     logger.info('Completed successfully')
 
 
Updated by Lucas Correia

File ftrackreview-mp4-2160.mp4 Deleted

  • Ignore whitespace
  • Hide word diff
Binary file removed.
  1. 1
  2. 2
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.