From fe7a14fec95b81709cbd16a5bb865eb8d3e97956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Pe=C3=B1a?= Date: Wed, 10 Nov 2021 21:18:13 +0100 Subject: [PATCH] Fix: proper subsonic album listenings count --- api/funkwhale_api/subsonic/serializers.py | 2 +- api/tests/subsonic/test_serializers.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/funkwhale_api/subsonic/serializers.py b/api/funkwhale_api/subsonic/serializers.py index 276586f78..edd55610b 100644 --- a/api/funkwhale_api/subsonic/serializers.py +++ b/api/funkwhale_api/subsonic/serializers.py @@ -149,7 +149,7 @@ def get_album2_data(album): "artist": album.artist.name, "created": to_subsonic_date(album.creation_date), "duration": album.tracks.aggregate(d=Sum("uploads__duration"))["d"] or 0, - "playCount": album.tracks.aggregate(c=Sum("downloads_count"))["c"] or 0, + "playCount": album.tracks.aggregate(l=Count("listenings"))["l"] or 0, } if album.attachment_cover_id: payload["coverArt"] = "al-{}".format(album.id) diff --git a/api/tests/subsonic/test_serializers.py b/api/tests/subsonic/test_serializers.py index 9106c8a19..f2025ca2c 100644 --- a/api/tests/subsonic/test_serializers.py +++ b/api/tests/subsonic/test_serializers.py @@ -1,6 +1,6 @@ import datetime -from django.db.models.aggregates import Sum +from django.db.models.aggregates import Count, Sum import pytest from funkwhale_api.music import models as music_models @@ -186,7 +186,7 @@ def test_get_album_serializer(factories): "coverArt": "al-{}".format(album.id), "genre": tagged_item.tag.name, "duration": album.tracks.aggregate(d=Sum("uploads__duration"))["d"] or 0, - "playCount": album.tracks.aggregate(c=Sum("downloads_count"))["c"] or 0, + "playCount": album.tracks.aggregate(l=Count("listenings"))["l"] or 0, "song": [ { "id": track.pk,