Proxy Objects

Proxy objects are used to store media assets (images, audio) in metadata models. Available as the global Proxy object.

Proxy.Media

Proxy.Media(data, sort_order=None, ext=None, index=None, **kwargs) → ProxyObject

Creates a proxy for media data to be stored on disk.

Parameter

Type

Description

data

str

Binary image / audio data.

sort_order

int or None

Sort priority (lower = higher priority).

ext

str or None

File extension hint.

index

str or None

Stream index.

**kwargs

Extra named data (stored as additional files with the extension as key).

Proxy.Preview

Proxy.Preview(data, sort_order=None, ext=None, index=None, **kwargs) → ProxyObject

Creates a proxy for preview / thumbnail data. Same parameters as Proxy.Media.

Proxy.LocalFile

Proxy.LocalFile(file_path, sort_order=None, ext=None, index=None, **kwargs) → ProxyObject

Creates a proxy that references a local file by path (data is not copied, just referenced).

Parameter

Type

Description

file_path

str

Absolute path to the file on disk.

Proxy.Remote

Proxy.Remote(url, sort_order=None, ext=None, index=None, **kwargs) → ProxyObject

Creates a proxy that references a remote URL.

Usage Examples

# Store a poster from HTTP
poster_data = HTTP.Request('https://example.com/poster.jpg').content
metadata.posters['poster_url'] = Proxy.Media(poster_data, sort_order=1)

# Store a preview thumbnail
metadata.posters['poster_url'] = Proxy.Preview(thumb_data, sort_order=1)

# Reference a local file directly
metadata.posters['local_poster'] = Proxy.LocalFile('/path/to/poster.jpg')

# Store a subtitle from a local file
part.subtitles['en']['subtitle_name'] = Proxy.LocalFile('/path/to/subs.srt', ext='srt')

# Store a subtitle from remote data
part.subtitles['en']['subtitle_name'] = Proxy.Media(sub_data, ext='srt')