From 4077252a0ec07d573b24ceeaf02513fb30600421 Mon Sep 17 00:00:00 2001 From: Louis Gallet Date: Sat, 29 Jun 2024 22:19:44 +0200 Subject: [PATCH] feat: :sparkles: Results show now multiple results --- main.py | 2 +- spotifySearch.py | 20 ++++++++++++-------- templates/found.html | 30 ++++++++++++++++++++---------- templates/index.html | 4 +++- templates/test.html | 20 -------------------- 5 files changed, 36 insertions(+), 40 deletions(-) delete mode 100644 templates/test.html diff --git a/main.py b/main.py index 8430ce1..067287e 100644 --- a/main.py +++ b/main.py @@ -13,7 +13,7 @@ def form_example(): if request.method == 'POST': search = request.form.get('search') result = searchSpotify(search) - return render_template("found.html", query=search, trackName=result[0], trackArtist=result[1], trackAlbum=result[2], trackPreview=result[3], trackImage=result[4], trackID=result[5],) + return render_template("found.html", query=search, tracks=result) # otherwise handle the GET request return render_template("index.html") diff --git a/spotifySearch.py b/spotifySearch.py index b23bfd7..7b3bb69 100644 --- a/spotifySearch.py +++ b/spotifySearch.py @@ -5,13 +5,17 @@ from dotenv import load_dotenv load_dotenv() -def searchSpotify(spotifySearch, limit=1): +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) - trackName = results['tracks']['items'][0]['name'] - trackArtist = results['tracks']['items'][0]['artists'][0]['name'] - trackAlbum = results['tracks']['items'][0]['album']['name'] - trackPreview = results['tracks']['items'][0]['preview_url'] - trackImage = results['tracks']['items'][0]['album']['images'][0]['url'] - trackID = results['tracks']['items'][0]['uri'] - return (trackName, trackArtist, trackAlbum, trackPreview, trackImage, trackID) + + 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 diff --git a/templates/found.html b/templates/found.html index 679864f..21e0022 100644 --- a/templates/found.html +++ b/templates/found.html @@ -12,7 +12,9 @@
- +
@@ -23,15 +25,23 @@ -
- Card image cap -
-
{{trackName}}
-

{{trackArtist}} - {{trackAlbum}}

- - Add to the playlist -
-
+
+
+ {% for track in tracks %} +
+
+ Card image cap +
+
{{ track[0] }}
+

{{ track[1] }} - {{ track[2] }}

+ + Add to the playlist +
+
+
+ {% endfor %} +
+
\ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 1210846..602fde9 100644 --- a/templates/index.html +++ b/templates/index.html @@ -11,7 +11,9 @@
- +
diff --git a/templates/test.html b/templates/test.html deleted file mode 100644 index 02c06b6..0000000 --- a/templates/test.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - {% block head %} - - - - - {% block styles %} - - {{ bootstrap.load_css() }} - {% endblock %} - - Your page title - {% endblock %} - - - - - \ No newline at end of file