MCPcopy Create free account
hub / github.com/Mrinank-Bhowmick/python-beginner-projects / recommendSong

Function recommendSong

projects/Spotify Player/main.py:167–203  ·  view source on GitHub ↗
(spotifyObject, song1, song2, song3)

Source from the content-addressed store, hash-verified

165
166
167def recommendSong(spotifyObject, song1, song2, song3):
168 results_1 = spotifyObject.search(q=song1, type="track")
169 song_1_id = results_1["tracks"]["items"][0]["id"]
170
171 results_2 = spotifyObject.search(q=song2, type="track")
172 song_2_id = results_2["tracks"]["items"][0]["id"]
173
174 results_3 = spotifyObject.search(q=song3, type="track")
175 song_3_id = results_3["tracks"]["items"][0]["id"]
176
177 recommendations = spotifyObject.recommendations(
178 seed_tracks=[song_1_id, song_2_id, song_3_id]
179 )
180 recommended_song = recommendations["tracks"][0]["name"]
181 recommended_song_id = recommendations["tracks"][0]["id"]
182 recommended_song_url = recommendations["tracks"][0]["external_urls"]["spotify"]
183
184 track = spotifyObject.track(recommended_song_id)
185 artist = track["artists"][0]["name"]
186
187 print(f"\nRecommended song: {recommended_song} - {artist}")
188 play = input("Would you like to play this song [yes/no]: ").lower()
189
190 if play in ["y", "yes"]:
191 print(f"{fore.GREEN}✅ Playing {recommended_song} - {artist}{fore.RESET}")
192
193 scope = "user-modify-playback-state"
194 token = util.prompt_for_user_token(
195 username,
196 scope,
197 client_id=clientID,
198 client_secret=clientSecret,
199 redirect_uri=redirectURI,
200 )
201
202 sp = spotipy.Spotify(auth=token)
203 sp.start_playback(uris=[recommended_song_url])
204
205
206#########################

Callers 1

mainFunction · 0.85

Calls 1

searchMethod · 0.80

Tested by

no test coverage detected