From 7601b95aa149ea61acb076441d45169475370d59 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Fri, 30 Aug 2024 23:53:11 +0200
Subject: [PATCH] SpotifyAutoPlaylistCreator: handle adding more than 100 songs
 to a playlist

---
 SpotifyAutoPlaylistCreator.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/SpotifyAutoPlaylistCreator.py b/SpotifyAutoPlaylistCreator.py
index 7eb826b..2007dc4 100644
--- a/SpotifyAutoPlaylistCreator.py
+++ b/SpotifyAutoPlaylistCreator.py
@@ -90,7 +90,14 @@ class SpotifyAutoPlaylistCreator:
 
         LOGGER.info(f'>>> Adding tracks to destination playlist "{destinationPlaylist["name"]}"...')
         randomTrackUris = self.__extract_track_uris(randomTracks)
-        self._spotify.playlist_add_items(self._destinationPlaylistInfo['id'], randomTrackUris)
+
+        for batch in self.__chunk_list(randomTrackUris, 100):
+            self._spotify.playlist_add_items(self._destinationPlaylistInfo['id'], batch)
+
+    @staticmethod
+    def __chunk_list(items, batchSize):
+        for i in range(0, len(items), batchSize):
+            yield items[i:i + batchSize]
 
     def __CollectLatestTracks(self, sortedTracks):
         tracksToAdd = []
-- 
GitLab