Skip to content

Commit

Permalink
Refactor to use PublicList class
Browse files Browse the repository at this point in the history
  • Loading branch information
glensc committed Feb 29, 2024
1 parent 88b91b9 commit 4acfdd1
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions plextraktsync/trakt/TraktUserList.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
from itertools import count
from typing import TYPE_CHECKING

from trakt.users import PublicList

from plextraktsync.factory import factory, logging
from plextraktsync.trakt.types import TraktPlayable

Expand Down Expand Up @@ -44,19 +46,15 @@ def items(self):
self.description, self._items = self.load_items()
return self._items

@staticmethod
def build_dict(pl: PublicList):
return {(f"{le.type}s", le.trakt): le.rank for le in pl}

def load_items(self):
from plextraktsync.trakt_list_util import LazyUserList

userlist = LazyUserList._get(self.name, self.trakt_id)
list_items = userlist._items
prelist = [
(elem[0], elem[1])
for elem in list_items
if elem[0] in ["movies", "episodes"]
]
self.logger.info(f"Downloaded Trakt list '{self.name}' ({len(list_items)} items): https://trakt.tv/lists/{self.trakt_id}")

return userlist.description, dict(zip(prelist, count(1)))
pl = PublicList.load(self.trakt_id)
self.logger.info(f"Downloaded Trakt list '{pl.name}' ({len(pl)} items): {pl.share_link}")

return pl.description, self.build_dict(pl)

@classmethod
def from_trakt_list(cls, name: str, items: list[TraktPlayable]):
Expand Down

0 comments on commit 4acfdd1

Please sign in to comment.