Update listenbrainz.py

This commit is contained in:
Alok Saboo 2023-12-20 10:06:02 -05:00
parent 3ead37775e
commit 6d44c6af00

View file

@ -122,24 +122,31 @@ class ListenBrainzPlugin(BeetsPlugin):
print(json.dumps(track, indent=4, sort_keys=True))
if mbid_mapping.get("recording_mbid") is None:
# search for the track using title and release
resp = musicbrainzngs.search_recordings(
query=track["track_metadata"].get("track_name"),
release=track["track_metadata"].get("release_name"),
artist=track["track_metadata"].get("artist_name"),
)
print(json.dumps(resp, indent=4, sort_keys=True))
mbid = self.get_mb_recording_id(track)
tracks.append(
{
"release_name": track["track_metadata"].get("release_name"),
"name": track["track_metadata"].get("track_name"),
"artist": {"name": track["track_metadata"].get("artist_name")},
"mbid": mbid_mapping.get("recording_mbid"),
"mbid": mbid,
"release_mbid": mbid_mapping.get("release_mbid"),
"listened_at": track.get("listened_at"),
}
)
return tracks
def get_mb_recording_id(self, track):
"""Returns the MusicBrainz recording ID for a track."""
resp = musicbrainzngs.search_recordings(
query=track["track_metadata"].get("track_name"),
release=track["track_metadata"].get("release_name"),
strict=True
)
if resp.get("recording-count") == "1":
return resp.get("recording-list")[0].get("id")
else:
self._log.debug(f"Invalid Search Error: {resp}")
return None
def get_playlists_createdfor(self, username):
"""Returns a list of playlists created by a user."""