Skip to content

Commit a1ad5a4

Browse files
committed
Populate album_genres on playlist manager page load
1 parent ae05f1f commit a1ad5a4

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

backend/src/controllers/database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ def populate_album_genres_by_user_id(
140140
for idx, db_album in enumerate(albums):
141141
print("\033[A \033[A")
142142
print(f"processing album {idx} of {len(albums)}, skipped {skip_count}")
143-
if get_album_genres(db_album) != []:
143+
if get_album_genres(db_album.id) != []:
144144
skip_count += 1
145145
continue
146146
album_artists = get_album_artists(db_album)

backend/src/database/crud/album.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ def update_album(album: Album):
5959
return album
6060

6161

62-
def get_album_genres(album: DbAlbum) -> List[str]:
62+
def get_album_genres(album_id: str) -> List[str]:
6363
query = (
6464
DbGenre.select()
6565
.join(AlbumGenreRelationship)
6666
.join(DbAlbum)
67-
.where(DbAlbum.id == album.id)
67+
.where(DbAlbum.id == album_id)
6868
)
6969
return list(query)
7070

backend/src/spotify.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import urllib.parse
55
from typing import List, Optional
66
from flask import Response, make_response, redirect
7+
from src.database.crud.album import get_album_genres
78
from src.dataclasses.album import Album
89
from src.dataclasses.playback_info import PlaybackInfo, PlaylistProgression
910
from src.dataclasses.playback_request import (
@@ -263,6 +264,8 @@ def get_playlist_album_info(self, access_token, id) -> List[Album]:
263264
for track in playlist_tracks:
264265
if track.track.album not in playlist_albums:
265266
playlist_albums.append(track.track.album)
267+
for album in playlist_albums:
268+
album.genres = [genre.name for genre in get_album_genres(album.id)]
266269
return playlist_albums
267270

268271
def get_playlist_tracks(self, access_token, id: str):

0 commit comments

Comments
 (0)