add autopep8 formatting

This commit is contained in:
2025-12-10 02:51:46 +01:00
parent 9242b02957
commit 59183e7021
10 changed files with 43 additions and 16 deletions

View File

@@ -7,6 +7,7 @@ import logging
import time
import os
class JellyfinApiClient:
def __init__(self):
machine_name = os.uname().nodename
@@ -50,7 +51,8 @@ class JellyfinApiClient:
session_id = session.get('Id')
current_item = self.client.jellyfin.get_now_playing(session_id)
if current_item and current_item.get('Type') in ['Audio', 'Episode', 'Movie']:
if current_item and current_item.get(
'Type') in ['Audio', 'Episode', 'Movie']:
self.logger.info("Current playback information fetched.")
return self.to_model(current_item)
@@ -78,7 +80,7 @@ class JellyfinApiClient:
total_runtime_seconds = runtime_ticks // 10_000_000
playback_position_ticks = play_state.get('PositionTicks')
playback_position_seconds = playback_position_ticks // 10_000_000
playback_position_seconds = playback_position_ticks // 10_000_000
start = int(datetime.now().timestamp()) - playback_position_seconds
end = start + total_runtime_seconds
@@ -89,11 +91,11 @@ class JellyfinApiClient:
media_id = item.get('Id')
parent_id = item.get('ParentId')
premiere_date = item.get('PremiereDate')
premiere_year = datetime.fromisoformat(premiere_date).year if premiere_date else None
premiere_year = datetime.fromisoformat(
premiere_date).year if premiere_date else None
(start, end) = self.get_playback_info(item)
return JellyfinMediaItem(
id=media_id,
name=item.get('Name'),
@@ -103,9 +105,8 @@ class JellyfinApiClient:
end=end,
metadata={
'artist': item.get('AlbumArtist'),
'album': f"{item.get('Album')} ({premiere_year})" if premiere_date else item.get('Album')
}
)
'album': f"{
item.get('Album')} ({premiere_year})" if premiere_date else item.get('Album')})
def to_movie_model(self, item: dict) -> JellyfinMediaItem:
media_id = item.get('Id')
@@ -133,7 +134,7 @@ 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}"
subtitle = f"S{season_number:02}E{episode_number:02} of {series_name}"
(start, end) = self.get_playback_info(item)

View File

@@ -1,11 +1,13 @@
from pydantic import BaseModel
from enum import Enum
class JellyfinMediaType(str, Enum):
AUDIO = 'Audio'
MOVIE = 'Movie'
EPISODE = 'Episode'
class JellyfinMediaItem(BaseModel):
id: str
name: str

View File

@@ -2,18 +2,24 @@ from discord.models import DiscordRPCUpdatePayload
from jellyfin.models import JellyfinMediaItem, JellyfinMediaType
from pypresence.types import ActivityType
def to_rpc_payload(media_item: JellyfinMediaItem) -> DiscordRPCUpdatePayload:
if media_item.type == JellyfinMediaType.AUDIO:
return DiscordRPCUpdatePayload(
id=media_item.id,
title=f"Listening to {media_item.name}",
subtitle=f"by {media_item.metadata.get('artist', 'Unknown Artist')}",
title=f"Listening to {
media_item.name}",
subtitle=f"by {
media_item.metadata.get(
'artist',
'Unknown Artist')}",
image_url=media_item.image_url,
details=media_item.metadata.get('album', 'Unknown Album'),
details=media_item.metadata.get(
'album',
'Unknown Album'),
activity_type=ActivityType.LISTENING,
start=media_item.start,
end=media_item.end
)
end=media_item.end)
elif media_item.type == JellyfinMediaType.MOVIE:
return DiscordRPCUpdatePayload(
id=media_item.id,