Added a ListenBrainz plugin

Philipp Wolfer requested to merge phw/funkwhale:listenbrainz-plugin into develop

Allows users to submit their listenings to

I have this running on my pod now without issues, happily submitting listens for me.

Maybe for discussion: The I wrote originally for the Rhythmbox plugin (where it was derived and generalized from what I had originally written for the Lollypop player).

There is also the kind of official pylistenbrainz. It was written later, but it's code wise actually very similar, only that it supports more of the ListenBrainz endpoints while focuses on the submission only. If you prefer using this we could add this library as an external dependency and replace with that. The only relevant difference I could spot is that automatically retries after delay on a 429 response (too many requests), but this could be easily added also when using pylistenbrainz.

No strong opinion here, it's just that I personally preferred using my own proven code I know best and that I wanted to avoid an external dependency for a rather simple thing.

Edited by Philipp Wolfer

Merge request reports