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.config import UserConfig
|
||||||
from app.db.userdata import SimilarArtistTable
|
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.album import serialize_for_card_many
|
||||||
from app.serializers.artist import serialize_for_cards, serialize_for_card
|
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
|
return {"error": "Artist not found"}, 404
|
||||||
|
|
||||||
tracks = TrackStore.get_tracks_by_trackhashes(entry.trackhashes)
|
tracks = TrackStore.get_tracks_by_trackhashes(entry.trackhashes)
|
||||||
tracks = sorted(tracks, key=lambda t: t.title)
|
tracks = sort_tracks(tracks, key="playcount", reverse=True)
|
||||||
tracks = sorted(tracks, key= lambda t: t.playcount, reverse=True)
|
|
||||||
print([{t.title, t.playcount, t.trackhash} for t in tracks])
|
|
||||||
tcount = len(tracks)
|
tcount = len(tracks)
|
||||||
|
|
||||||
artist = entry.artist
|
artist = entry.artist
|
||||||
@@ -164,8 +163,7 @@ def get_all_artist_tracks(path: ArtistHashSchema):
|
|||||||
Returns all artists by a given artist.
|
Returns all artists by a given artist.
|
||||||
"""
|
"""
|
||||||
tracks = ArtistStore.get_artist_tracks(path.artisthash)
|
tracks = ArtistStore.get_artist_tracks(path.artisthash)
|
||||||
tracks = sorted(tracks, key=lambda t: t.title)
|
tracks = sort_tracks(tracks, key="playcount", reverse=True)
|
||||||
tracks = sorted(tracks, key= lambda t: t.playcount, reverse=True)
|
|
||||||
return serialize_tracks(tracks)
|
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.albumslib import sort_by_track_no
|
||||||
from app.lib.home.recentlyadded import get_recently_added_playlist
|
from app.lib.home.recentlyadded import get_recently_added_playlist
|
||||||
from app.lib.home.recentlyplayed import get_recently_played_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.models.playlist import Playlist
|
||||||
from app.serializers.playlist import serialize_for_card
|
from app.serializers.playlist import serialize_for_card
|
||||||
from app.serializers.track import serialize_tracks
|
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.
|
Returns a list of trackhashes for an artist.
|
||||||
"""
|
"""
|
||||||
tracks = TrackStore.get_tracks_by_artisthash(artisthash)
|
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]
|
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])
|
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)
|
return sorted(tracks, key=sortfunc, reverse=reverse)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user