Skip to content

Commit

Permalink
add pagination to v3 lists
Browse files Browse the repository at this point in the history
  • Loading branch information
meisnate12 committed Oct 25, 2023
1 parent 0af64f2 commit 2788de1
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 15 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.2.0
1.2.1
5 changes: 3 additions & 2 deletions tmdbapis/api3.py
Original file line number Diff line number Diff line change
Expand Up @@ -1106,16 +1106,17 @@ def keywords_get_movies(
"""
return self._get(f"/keyword/{keyword_id}/movies", language=language, include_adult=include_adult)

def lists_get_details(self, list_id: int, language: Optional[str] = None) -> Dict:
def lists_get_details(self, list_id: int, language: Optional[str] = None, page: Optional[str] = None) -> Dict:
""" `Lists Get Details <https://developers.themoviedb.org/3/lists/get-list-details>`__
Get the details of a list.
Parameters:
list_id (int): List ID.
language (Optional[str]): ISO-639-1 or ISO-3166-1 value to display translated data for the fields that support it.
page (Optional[int]): Specify which page to query.
"""
return self._get(f"/list/{list_id}", language=language)
return self._get(f"/list/{list_id}", language=language, page=page)

def lists_check_item_status(self, list_id: int, movie_id: int) -> Dict:
""" `Lists Check Item Status <https://developers.themoviedb.org/3/lists/check-item-status>`__
Expand Down
18 changes: 6 additions & 12 deletions tmdbapis/objs/pagination.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ def __init__(self, tmdb, data, value_type, page_type):
self._page_type = page_type
self._results_text = None
self._total_results_text = None
self._single_load = False
self._page_storage = {}
self._params = parse_qs(urlparse(tmdb._api.response.url).query)
self._loading = True
Expand All @@ -36,8 +35,8 @@ def __init__(self, tmdb, data, value_type, page_type):
def _load(self, data):
self._partial = data is not None
super()._load(self._get_page(1) if data is None else data)
self.page = 1 if self._single_load else self._parse(attrs="page", value_type="int")
self.total_pages = 1 if self._single_load else self._parse(attrs="total_pages", value_type="int")
self.page = self._parse(attrs="page", value_type="int")
self.total_pages = self._parse(attrs="total_pages", value_type="int")
if self._total_results_text:
self.total_results = self._parse(attrs=self._total_results_text, value_type="int")
setattr(self, self._total_results_text, self.total_results)
Expand Down Expand Up @@ -686,14 +685,8 @@ def __init__(self, tmdb, data, sort_by=None, load=False):

def _load(self, data):
self._partial = data is not None
if self._api4:
self._results_text = None
self._total_results_text = None
self._single_load = False
else:
self._results_text = "items"
self._total_results_text = "item_count"
self._single_load = True
self._results_text = None if self._api4 else "items"
self._total_results_text = None if self._api4 else "item_count"
super()._load(self._get_page(1) if data is None else data)
self._loading = True
self.description = self._parse(attrs="description")
Expand Down Expand Up @@ -732,7 +725,8 @@ def _get_page(self, page):
else:
return self._api.lists_get_details(
self.id,
language=self._tmdb.language
language=self._tmdb.language,
page=page
)

def reload(self):
Expand Down

0 comments on commit 2788de1

Please sign in to comment.