Source code for ftrack_api.entity.asset_version

# :coding: utf-8
# :copyright: Copyright (c) 2015 ftrack

import ftrack_api.entity.base

[docs]class AssetVersion(ftrack_api.entity.base.Entity): '''Represent asset version.'''
[docs] def create_component( self, path, data=None, location=None ): '''Create a new component from *path* with additional *data* .. note:: This is a helper method. To create components manually use the standard :meth:`Session.create` method. *path* can be a string representing a filesystem path to the data to use for the component. The *path* can also be specified as a sequence string, in which case a sequence component with child components for each item in the sequence will be created automatically. The accepted format for a sequence is '{head}{padding}{tail} [{ranges}]'. For example:: '/path/to/file.%04d.ext [1-5, 7, 8, 10-20]' .. seealso:: `Clique documentation <>`_ *data* should be a dictionary of any additional data to construct the component with (as passed to :meth:`Session.create`). This version is automatically set as the component's version. If *location* is specified then automatically add component to that location. ''' if data is None: data = {} data.pop('version_id', None) data['version'] = self return self.session.create_component(path, data=data, location=location)
[docs] def encode_media(self, media, keep_original='auto'): '''Return a new Job that encode *media* to make it playable in browsers. *media* can be a path to a file or a FileComponent in the ftrack.server location. The job will encode *media* based on the file type and job data contains information about encoding in the following format:: { 'output': [{ 'format': 'video/mp4', 'component_id': 'e2dc0524-b576-11d3-9612-080027331d74' }, { 'format': 'image/jpeg', 'component_id': '07b82a97-8cf9-11e3-9383-20c9d081909b' }], 'source_component_id': 'e3791a09-7e11-4792-a398-3d9d4eefc294', 'keep_original': True } The output components are associated with the job via the job_components relation. An image component will always be generated if possible, and will be set as the version's thumbnail. The new components will automatically be associated with the version. A server version of 3.3.32 or higher is required for this to function properly. If *media* is a file path, a new source component will be created and added to the ftrack server location and a call to :meth:`commit` will be issued. If *media* is a FileComponent, it will be assumed to be in available in the ftrack.server location. If *keep_original* is not set, the original media will be kept if it is a FileComponent, and deleted if it is a file path. You can specify True or False to change this behavior. ''' return self.session.encode_media( media, version_id=self['id'], keep_original=keep_original )