fix: artist track count

+ fix: album type on artits page
+ sort by release date help text on get all
This commit is contained in:
cwilvx
2024-07-03 15:57:05 +03:00
parent a5634f267f
commit 2e63aa4a41
4 changed files with 13 additions and 5 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ def get_album_tracks_and_info(body: AlbumHashSchema):
tracks = TrackDb.get_tracks_by_albumhash(albumhash)
album.trackcount = len(tracks)
album.duration = sum(t.duration for t in tracks)
album.type = album.check_type(
album.check_type(
tracks=tracks, singleTrackAsSingle=UserConfig().showAlbumsAsSingles
)
+1 -1
View File
@@ -107,7 +107,7 @@ def get_all_items(path: GetAllItemsPath, query: GetAllItemsQuery):
item_dict = serialize_album(item) if is_albums else serialize_artist(item)
if sort_is_date:
item_dict["help_text"] = item.date
item_dict["help_text"] = datetime.fromtimestamp(item.date).year
if sort_is_create_date:
date = create_new_date(datetime.fromtimestamp(item.created_date))
+10 -2
View File
@@ -210,6 +210,7 @@ class IndexArtists:
for a in track.albumartists:
if a not in this_artists:
a["in_track"] = False
this_artists.append(a)
for thisartist in this_artists:
@@ -228,7 +229,11 @@ class IndexArtists:
"playcount": track.playcount,
"playduration": track.playduration,
"trackcount": None,
"tracks": {track.trackhash},
"tracks": (
{track.trackhash}
if thisartist.get("in_track", True)
else set()
),
}
else:
artist = artists[thisartist["artisthash"]]
@@ -236,12 +241,15 @@ class IndexArtists:
artist["playcount"] += track.playcount
artist["playduration"] += track.playduration
artist["albums"].add(track.albumhash)
artist["tracks"].add(track.trackhash)
artist["date"] = min(artist["date"], track.date)
artist["lastplayed"] = max(artist["lastplayed"], track.lastplayed)
artist["created_date"] = min(artist["created_date"], track.last_mod)
artist["names"].add(thisartist["name"])
if thisartist.get("in_track", True):
artist["tracks"].add(track.trackhash)
if track.genres:
artist["genres"].extend(track.genres)
+1 -1
View File
@@ -269,7 +269,7 @@ def get_tags(filepath: str, artist_separators: set[str]):
]
tags.artisthashes = list(
{a["artisthash"] for a in tags.artists + tags.albumartists}
{a["artisthash"] for a in tags.artists}
)
# remove prod by