mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-03 20:13:02 +00:00
fix: sort order on artists
This commit is contained in:
+3
-5
@@ -18,6 +18,7 @@ from app.api.apischemas import (
|
||||
|
||||
from app.config import UserConfig
|
||||
from app.db.userdata import SimilarArtistTable
|
||||
from app.lib.sortlib import sort_tracks
|
||||
|
||||
from app.serializers.album import serialize_for_card_many
|
||||
from app.serializers.artist import serialize_for_cards, serialize_for_card
|
||||
@@ -47,9 +48,7 @@ def get_artist(path: ArtistHashSchema, query: TrackLimitSchema):
|
||||
return {"error": "Artist not found"}, 404
|
||||
|
||||
tracks = TrackStore.get_tracks_by_trackhashes(entry.trackhashes)
|
||||
tracks = sorted(tracks, key=lambda t: t.title)
|
||||
tracks = sorted(tracks, key= lambda t: t.playcount, reverse=True)
|
||||
print([{t.title, t.playcount, t.trackhash} for t in tracks])
|
||||
tracks = sort_tracks(tracks, key="playcount", reverse=True)
|
||||
tcount = len(tracks)
|
||||
|
||||
artist = entry.artist
|
||||
@@ -164,8 +163,7 @@ def get_all_artist_tracks(path: ArtistHashSchema):
|
||||
Returns all artists by a given artist.
|
||||
"""
|
||||
tracks = ArtistStore.get_artist_tracks(path.artisthash)
|
||||
tracks = sorted(tracks, key=lambda t: t.title)
|
||||
tracks = sorted(tracks, key= lambda t: t.playcount, reverse=True)
|
||||
tracks = sort_tracks(tracks, key="playcount", reverse=True)
|
||||
return serialize_tracks(tracks)
|
||||
|
||||
|
||||
|
||||
+2
-1
@@ -18,6 +18,7 @@ from app.lib import playlistlib
|
||||
from app.lib.albumslib import sort_by_track_no
|
||||
from app.lib.home.recentlyadded import get_recently_added_playlist
|
||||
from app.lib.home.recentlyplayed import get_recently_played_playlist
|
||||
from app.lib.sortlib import sort_tracks
|
||||
from app.models.playlist import Playlist
|
||||
from app.serializers.playlist import serialize_for_card
|
||||
from app.serializers.track import serialize_tracks
|
||||
@@ -75,7 +76,7 @@ def get_artist_trackhashes(artisthash: str):
|
||||
Returns a list of trackhashes for an artist.
|
||||
"""
|
||||
tracks = TrackStore.get_tracks_by_artisthash(artisthash)
|
||||
tracks = sorted(tracks, key= lambda t: t.playcount, reverse=True)
|
||||
tracks = sort_tracks(tracks, key="playcount", reverse=True)
|
||||
return [t.trackhash for t in tracks]
|
||||
|
||||
|
||||
|
||||
@@ -26,6 +26,12 @@ def sort_tracks(tracks: list[Track], key: str, reverse: bool = False):
|
||||
|
||||
return flatten([sort_by_track_no(list(g)) for k, g in groups])
|
||||
|
||||
# INFO: sort tracks by title for a fallback value
|
||||
tracks = sorted(tracks, key=lambda t: t.title)
|
||||
|
||||
if key == "title":
|
||||
return tracks
|
||||
|
||||
return sorted(tracks, key=sortfunc, reverse=reverse)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user