diff --git a/api/funkwhale_api/contrib/maloja/funkwhale_ready.py b/api/funkwhale_api/contrib/maloja/funkwhale_ready.py index 7b9b31503..7ac9057a6 100644 --- a/api/funkwhale_api/contrib/maloja/funkwhale_ready.py +++ b/api/funkwhale_api/contrib/maloja/funkwhale_ready.py @@ -22,7 +22,7 @@ def submit_listen(listening, conf, **kwargs): logger.debug("Majola payload: %r", payload) url = server_url.rstrip("/") + "/apis/mlj_1/newscrobble" session = plugins.get_session() - response = session.post(url, payload) + response = session.post(url, json=payload) response.raise_for_status() details = json.loads(response.text) if details["status"] == "success": @@ -35,12 +35,13 @@ def get_payload(listening, api_key): track = listening.track payload = { "key": api_key, - "artists": track.artist.name, + "artists": [track.artist.name], "title": track.title, "time": int(listening.creation_date.timestamp()), } if track.album: - payload["album"] = track.album.title + if track.album.title: + payload["album"] = track.album.title return payload diff --git a/api/funkwhale_api/contrib/maloja/funkwhale_startup.py b/api/funkwhale_api/contrib/maloja/funkwhale_startup.py index a9dd01d43..69e5c85b2 100644 --- a/api/funkwhale_api/contrib/maloja/funkwhale_startup.py +++ b/api/funkwhale_api/contrib/maloja/funkwhale_startup.py @@ -5,7 +5,7 @@ PLUGIN = plugins.get_plugin_config( label="Maloja", description="A plugin that allows you to submit your listens to your Maloja server.", homepage="https://docs.funkwhale.audio/users/builtinplugins.html#maloja-plugin", - version="0.1", + version="0.1.1", user=True, conf=[ {"name": "server_url", "type": "text", "label": "Maloja server URL"}, diff --git a/changes/changelog.d/maloja-fix-submission.bugfix b/changes/changelog.d/maloja-fix-submission.bugfix new file mode 100644 index 000000000..317dcbfdf --- /dev/null +++ b/changes/changelog.d/maloja-fix-submission.bugfix @@ -0,0 +1 @@ +Fix artist name submission in Maloja plugin