improve start/end typing

This commit is contained in:
2025-12-10 04:13:01 +01:00
parent d4febbc3b2
commit 906b07e20c
3 changed files with 17 additions and 17 deletions

View File

@@ -1,4 +1,4 @@
from pydantic import BaseModel
from pydantic import BaseModel, NonNegativeInt
from pypresence.types import ActivityType
from typing import Optional
@@ -9,6 +9,6 @@ class DiscordRPCUpdatePayload(BaseModel):
subtitle: str
image_url: str
details: str
start: Optional[int]
end: Optional[int]
start: Optional[NonNegativeInt]
end: Optional[NonNegativeInt]
activity_type: ActivityType

View File

@@ -1,4 +1,4 @@
from pydantic import BaseModel, HttpUrl
from pydantic import BaseModel, HttpUrl, NonNegativeInt
from enum import StrEnum
from typing import Optional, Union
from discord.models import DiscordRPCUpdatePayload
@@ -29,8 +29,8 @@ class JellyfinMediaItem(BaseModel):
name: str
type: JellyfinMediaType
image_url: HttpUrl
start: Optional[int]
end: Optional[int]
start: Optional[NonNegativeInt]
end: Optional[NonNegativeInt]
metadata: Union[JellyfinMusicMediaMetadata,
JellyfinMovieMediaMetadata,
JellyfinEpisodeMediaMetadata]

16
main.py
View File

@@ -5,28 +5,28 @@ import coloredlogs
import logging
import time
def main():
coloredlogs.install(
level=logging.INFO,
fmt='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
discordRPC = DiscordRPC()
jellyfinApiClient = JellyfinApiClient()
discord_rpc = DiscordRPC()
jellyfin_api_client = JellyfinApiClient()
def main():
while True:
try:
media_item = jellyfinApiClient.get_current_playback()
media_item = jellyfin_api_client.get_current_playback()
if not media_item:
discordRPC.clear()
discord_rpc.clear()
time.sleep(settings.poll_interval)
continue
discordRPC.update(media_item.to_rpc_payload())
discord_rpc.update(media_item.to_rpc_payload())
time.sleep(settings.poll_interval)
except KeyboardInterrupt:
logging.info("Shutting down...")
discordRPC.clear()
discord_rpc.clear()
break