fix: clarify search cap and batch completion semantics

This commit is contained in:
2026-05-22 22:27:14 +02:00
parent b6dca134f1
commit dfe1671ac9

View File

@@ -120,6 +120,7 @@ def list_saved_tracks(limit: int = 50) -> list[dict]:
def search_tracks(query: str, limit: int = 10) -> list[dict]: def search_tracks(query: str, limit: int = 10) -> list[dict]:
sp = get_client() sp = get_client()
# Spotify's search endpoint returns at most 50 results per call; no pagination available
response = sp.search(q=query, type="track", limit=min(limit, 50)) response = sp.search(q=query, type="track", limit=min(limit, 50))
results = [] results = []
for track in response["tracks"]["items"]: for track in response["tracks"]["items"]:
@@ -156,4 +157,5 @@ def add_tracks_to_playlist(playlist_id: str, track_uris: list[str]) -> dict:
sp = get_client() sp = get_client()
for i in range(0, len(track_uris), 100): for i in range(0, len(track_uris), 100):
sp.playlist_add_items(playlist_id, track_uris[i : i + 100]) sp.playlist_add_items(playlist_id, track_uris[i : i + 100])
# Only reached if all batches succeed — any SpotifyException propagates to the caller
return {"added": len(track_uris)} return {"added": len(track_uris)}