From 505d27416781fea4dbd55204e544113123e5afa4 Mon Sep 17 00:00:00 2001 From: Sander Groen <darkblade1988@gmail.com> Date: Tue, 25 Feb 2025 22:23:58 +0100 Subject: [PATCH] Add paging to API/get_items --- jellyfin_kodi/jellyfin/api.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/jellyfin_kodi/jellyfin/api.py b/jellyfin_kodi/jellyfin/api.py index 1c2bb02f..0669e6a1 100644 --- a/jellyfin_kodi/jellyfin/api.py +++ b/jellyfin_kodi/jellyfin/api.py @@ -146,10 +146,17 @@ class API(object): return self.users("/Items/%s" % item_id) def get_items(self, item_ids): - return self.users( - "/Items", - params={"Ids": ",".join(str(x) for x in item_ids), "Fields": info()}, - ) + all_results = [] + for i in range(0, len(item_ids), 150): + chunk = item_ids[i:i + 150] + response = self.users( + "/Items", + params={"Ids": ",".join(str(x) for x in chunk), "Fields": info()}, + ) + if response: + all_results.extend(response.get("Items", [])) + return {"Items": all_results} + def get_sessions(self): return self.sessions(params={"ControllableByUserId": "{UserId}"})