diff --git a/api/funkwhale_api/contrib/listenbrainz/funkwhale_ready.py b/api/funkwhale_api/contrib/listenbrainz/funkwhale_ready.py index 4046f28c9..ccda2d287 100644 --- a/api/funkwhale_api/contrib/listenbrainz/funkwhale_ready.py +++ b/api/funkwhale_api/contrib/listenbrainz/funkwhale_ready.py @@ -42,4 +42,8 @@ def get_track(track): if track.artist.mbid: additional_info["artist_mbids"] = [str(track.artist.mbid)] + upload = track.uploads.filter(duration__gte=0).first() + if upload: + additional_info["duration"] = upload.duration + return Track(artist, title, album, additional_info) diff --git a/api/funkwhale_api/contrib/listenbrainz/funkwhale_startup.py b/api/funkwhale_api/contrib/listenbrainz/funkwhale_startup.py index f8229cdc6..5c945cc68 100644 --- a/api/funkwhale_api/contrib/listenbrainz/funkwhale_startup.py +++ b/api/funkwhale_api/contrib/listenbrainz/funkwhale_startup.py @@ -6,7 +6,7 @@ PLUGIN = plugins.get_plugin_config( label="ListenBrainz", description="A plugin that allows you to submit your listens to ListenBrainz.", homepage="https://docs.funkwhale.audio/users/builtinplugins.html#listenbrainz-plugin", # noqa - version="0.2", + version="0.3", user=True, conf=[ { diff --git a/changes/changelog.d/listenbrainz-duration.enhancement b/changes/changelog.d/listenbrainz-duration.enhancement new file mode 100644 index 000000000..1b5f9bfb8 --- /dev/null +++ b/changes/changelog.d/listenbrainz-duration.enhancement @@ -0,0 +1 @@ +The ListenBrainz plugin submits the track duration