# :coding: utf-8# # :copyright: Copyright (c) 2020 ftrackimportjsonimportftrack_apisession=ftrack_api.Session()PROJECT_NAME='foo'PATH_TO_MEDIA='/Users/lucas/Downloads/Test media/test-file-01.mp4'defupload_media(asset_version,file_path,name='ftrackreview-mp4'):server_location=session.get('Location',ftrack_api.symbol.SERVER_LOCATION_ID)component=asset_version.create_component(path=file_path,data={'name':name},location=server_location)returncomponentdefcreate_asset(parent,name,asset_type=None):ifasset_typeisNone:asset_type=session.query('AssetType where name is "Upload"').one()asset=session.create('Asset',{'name':name,'type':asset_type,'parent':parent})session.commit()asset_version=session.create('AssetVersion',{'asset':asset})session.commit()returnasset_versiondefclean_up(project):previous_assets=session.query('Asset where name like "Test %" and context_id is "{}"'.format(project['id']))forassetinprevious_assets:session.delete(asset)session.commit()defmain():project=session.query('Project where name is "{}"'.format(PROJECT_NAME)).one()clean_up(project)asset_version=create_asset(project,'Test 1 (Encoding)')component=upload_media(asset_version,PATH_TO_MEDIA)component['metadata']['ftr_meta']='encoding'session.commit()asset_version=create_asset(project,'Test 2 (Processing additional resolutions)')component_1=upload_media(asset_version,PATH_TO_MEDIA)component_1['metadata']['ftr_meta']=json.dumps({'frameIn':0,'frameOut':150,'frameRate':25,'width':1280,'height':720,})component_2=session.create('FileComponent',{'version_id':asset_version['id'],'name':'ftrackreview-mp4-1080','file_type':'.mp4',})component_2['metadata']['ftr_meta']='encoding'session.commit()asset_version=create_asset(project,'Test 3 (Complete)')component_1=upload_media(asset_version,PATH_TO_MEDIA)component_1['metadata']['ftr_meta']=json.dumps({'frameIn':0,'frameOut':150,'frameRate':25,'width':1280,'height':720,})component_2=upload_media(asset_version,PATH_TO_MEDIA,'ftrackreview-mp4-1080')component_2['metadata']['ftr_meta']=json.dumps({'frameIn':0,'frameOut':150,'frameRate':25,'width':1920,'height':1080,})session.commit()if__name__=='__main__':main()
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.