39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
import spotipy
|
|
from spotipy.oauth2 import SpotifyClientCredentials, SpotifyOAuth
|
|
import os
|
|
from dotenv import load_dotenv
|
|
from flask import url_for
|
|
|
|
load_dotenv()
|
|
|
|
def searchSpotify(spotifySearch, limit=10):
|
|
sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id=os.getenv("client_id"), client_secret=os.getenv("client_secret")))
|
|
results = sp.search(q=spotifySearch, limit=limit)
|
|
|
|
tracks = []
|
|
for i in range(limit):
|
|
trackName = results['tracks']['items'][i]['name']
|
|
trackArtist = results['tracks']['items'][i]['artists'][0]['name']
|
|
trackAlbum = results['tracks']['items'][i]['album']['name']
|
|
trackPreview = results['tracks']['items'][i]['preview_url']
|
|
trackImage = results['tracks']['items'][i]['album']['images'][0]['url']
|
|
trackID = results['tracks']['items'][i]['uri']
|
|
tracks.append([trackName, trackArtist, trackAlbum, trackPreview, trackImage, trackID])
|
|
return tracks
|
|
|
|
|
|
def createPlaylist(playlistName):
|
|
#TODO: Implement this function
|
|
pass
|
|
|
|
def create_spotify_oauth():
|
|
"""
|
|
This function creates a Spotify OAuth object
|
|
:return: SpotifyOAuth object
|
|
"""
|
|
return SpotifyOAuth(
|
|
client_id=os.getenv("client_id"),
|
|
client_secret=os.getenv("client_secret"),
|
|
redirect_uri=url_for('callback', _external=True),
|
|
scope='playlist-modify-public'
|
|
) |