extract jellyfin utilities
This commit is contained in:
43
jellyfin/utils/models/movie.py
Normal file
43
jellyfin/utils/models/movie.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from jellyfin.models import (
|
||||
JellyfinMediaItem,
|
||||
JellyfinMediaType,
|
||||
JellyfinMovieMediaMetadata
|
||||
)
|
||||
from jellyfin.utils.playback import get_current_playback
|
||||
from jellyfin.utils.image import get_image_url
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def to_media_item(
|
||||
item: dict
|
||||
) -> JellyfinMediaItem:
|
||||
"""
|
||||
Converts a Jellyfin movie media item dictionary to a JellyfinMediaItem.
|
||||
|
||||
Args:
|
||||
item (dict): The Jellyfin movie media item dictionary.
|
||||
Returns:
|
||||
JellyfinMediaItem: The converted JellyfinMediaItem model.
|
||||
"""
|
||||
item_id = item.get('Id')
|
||||
|
||||
# Construct metadata
|
||||
premiere_date = item.get('PremiereDate')
|
||||
date = datetime.fromisoformat(premiere_date).strftime('%d/%m/%Y')
|
||||
|
||||
metadata = JellyfinMovieMediaMetadata(
|
||||
date=date
|
||||
)
|
||||
|
||||
# Get playback positions
|
||||
(start, end) = get_current_playback(item)
|
||||
|
||||
return JellyfinMediaItem(
|
||||
id=item_id,
|
||||
name=item.get('Name'),
|
||||
type=JellyfinMediaType.MOVIE,
|
||||
image_url=get_image_url(item_id),
|
||||
start=start,
|
||||
end=end,
|
||||
metadata=metadata
|
||||
)
|
||||
Reference in New Issue
Block a user