improve typing

This commit is contained in:
2025-12-10 03:36:34 +01:00
parent d0fcb3e57c
commit 4a33281ca4
4 changed files with 42 additions and 25 deletions

View File

@@ -1,7 +1,7 @@
from settings import settings
from jellyfin_apiclient_python import JellyfinClient
from getmac import get_mac_address
from jellyfin.models import JellyfinMediaItem, JellyfinMediaType
from jellyfin.models import JellyfinMediaItem, JellyfinMediaType, JellyfinMusicMediaMetadata, JellyfinMovieMediaMetadata, JellyfinEpisodeMediaMetadata
from datetime import datetime
import logging
import time
@@ -98,6 +98,10 @@ class JellyfinApiClient:
premiere_year = datetime.fromisoformat(
premiere_date).year if premiere_date else None
metadata = JellyfinMusicMediaMetadata(
artist=item.get('AlbumArtist'), album=f"{
item.get('Album')} ({premiere_year})" if premiere_date else item.get('Album'))
(start, end) = self.get_playback_info(item)
return JellyfinMediaItem(
@@ -107,15 +111,16 @@ class JellyfinApiClient:
image_url=self.get_image_url(parent_id),
start=start,
end=end,
metadata={
'artist': item.get('AlbumArtist'),
'album': f"{
item.get('Album')} ({premiere_year})" if premiere_date else item.get('Album')})
metadata=metadata
)
def to_movie_model(self, item: dict) -> JellyfinMediaItem:
media_id = item.get('Id')
premiere_date = item.get('PremiereDate')
metadata = JellyfinMovieMediaMetadata(date=datetime.fromisoformat(
premiere_date).strftime('%d/%m/%Y') if premiere_date else None)
(start, end) = self.get_playback_info(item)
return JellyfinMediaItem(
@@ -125,9 +130,7 @@ class JellyfinApiClient:
image_url=self.get_image_url(media_id),
start=start,
end=end,
metadata={
'date': datetime.fromisoformat(premiere_date).strftime('%d/%m/%Y') if premiere_date else None
}
metadata=metadata
)
def to_episode_model(self, item: dict) -> JellyfinMediaItem:
@@ -138,7 +141,10 @@ class JellyfinApiClient:
season_number = item.get('ParentIndexNumber')
episode_number = item.get('IndexNumber')
subtitle = f"S{season_number:02}E{episode_number:02} of {series_name}"
metadata = JellyfinEpisodeMediaMetadata(
subtitle=f"S{
season_number:02}E{
episode_number:02} of {series_name}")
(start, end) = self.get_playback_info(item)
@@ -149,7 +155,5 @@ class JellyfinApiClient:
image_url=self.get_image_url(parent_id),
start=start,
end=end,
metadata={
'subtitle': subtitle,
}
metadata=metadata
)