# :coding: utf-8# # :copyright: Copyright (c) 2020 ftrackimportos.pathimportjsonimportftrack_apisession=ftrack_api.Session()PROJECT_NAME='Encoding test project'MEDIA_DIRECTORY=os.path.dirname(__file__)THUMBNAIL_FILE=os.path.join(MEDIA_DIRECTORY,'thumbnail.jpg')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')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.ensure('Project',{'name':PROJECT_NAME})clean_up(project)asset_version=create_asset(project,'Test 1 (Encoding)')component=upload_media(asset_version,MEDIA_720)component['metadata']['ftr_meta']='encoding'session.commit()asset_version=create_asset(project,'Test 2 (Processing additional resolutions)')asset_version.create_thumbnail(THUMBNAIL_FILE)component_1=upload_media(asset_version,MEDIA_720)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)')asset_version.create_thumbnail(THUMBNAIL_FILE)component_1=upload_media(asset_version,MEDIA_720)component_1['metadata']['ftr_meta']=json.dumps({'frameIn':0,'frameOut':150,'frameRate':25,'width':1280,'height':720,})component_2=upload_media(asset_version,MEDIA_1080,'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()