From 3a82e6ad3e0a796eab52349747cf6879f68c2173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elan=20Ruusam=C3=A4e?= Date: Sun, 14 Jan 2024 20:52:08 +0200 Subject: [PATCH] Use TraktPlayable type --- plextraktsync/trakt/ScrobblerCollection.py | 6 ++---- plextraktsync/trakt/TraktUserList.py | 8 +++----- plextraktsync/trakt/TraktUserListCollection.py | 7 ++----- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/plextraktsync/trakt/ScrobblerCollection.py b/plextraktsync/trakt/ScrobblerCollection.py index c388a3dce2..dfb8cdb205 100644 --- a/plextraktsync/trakt/ScrobblerCollection.py +++ b/plextraktsync/trakt/ScrobblerCollection.py @@ -6,10 +6,8 @@ from plextraktsync.trakt.ScrobblerProxy import ScrobblerProxy if TYPE_CHECKING: - from plexapi.video import Movie - from trakt.tv import TVEpisode - from plextraktsync.trakt.TraktApi import TraktApi + from plextraktsync.trakt.types import TraktPlayable class ScrobblerCollection(UserDict): @@ -18,7 +16,7 @@ def __init__(self, trakt: TraktApi, threshold=80): self.trakt = trakt self.threshold = threshold - def __missing__(self, media: Movie | TVEpisode): + def __missing__(self, media: TraktPlayable): scrobbler = media.scrobble(0, None, None) proxy = ScrobblerProxy(scrobbler, self.threshold) self[media] = proxy diff --git a/plextraktsync/trakt/TraktUserList.py b/plextraktsync/trakt/TraktUserList.py index 7ab37ca5ff..531abfd855 100644 --- a/plextraktsync/trakt/TraktUserList.py +++ b/plextraktsync/trakt/TraktUserList.py @@ -5,11 +5,9 @@ from typing import TYPE_CHECKING from plextraktsync.factory import factory, logging +from plextraktsync.trakt.types import TraktPlayable if TYPE_CHECKING: - from trakt.movies import Movie - from trakt.tv import TVEpisode - from plextraktsync.media import Media from plextraktsync.plex.PlexLibraryItem import PlexLibraryItem @@ -63,13 +61,13 @@ def load_items(self): return userlist.description, dict(zip(prelist, count(1))) @classmethod - def from_trakt_list(cls, name: str, items: list[Movie, TVEpisode]): + def from_trakt_list(cls, name: str, items: list[TraktPlayable]): items = zip([(item.media_type, item.trakt) for item in items], count(1)) return cls(name=name, items=dict(items)) @classmethod - def from_watchlist(cls, items: list[Movie, TVEpisode]): + def from_watchlist(cls, items: list[TraktPlayable]): trakt_items = dict( zip([(elem.media_type, elem.trakt) for elem in items], count(1)) ) diff --git a/plextraktsync/trakt/TraktUserListCollection.py b/plextraktsync/trakt/TraktUserListCollection.py index 23e5482019..53cf4a57c2 100644 --- a/plextraktsync/trakt/TraktUserListCollection.py +++ b/plextraktsync/trakt/TraktUserListCollection.py @@ -7,11 +7,8 @@ from plextraktsync.trakt.TraktUserList import TraktUserList if TYPE_CHECKING: - from trakt.movies import Movie - from trakt.tv import TVEpisode - from plextraktsync.media import Media - from plextraktsync.trakt.types import TraktLikedList + from plextraktsync.trakt.types import TraktLikedList, TraktPlayable class TraktUserListCollection(UserList): @@ -27,7 +24,7 @@ def load_lists(self, liked_lists: list[TraktLikedList]): for liked_list in liked_lists: self.add_list(liked_list["listid"], liked_list["listname"]) - def add_watchlist(self, items: list[Movie, TVEpisode]): + def add_watchlist(self, items: list[TraktPlayable]): tl = TraktUserList.from_watchlist(items) self.append(tl) return tl