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')