A decentralized music tracking and discovery platform built on AT Protocol 🎵 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz

fix: add artist mismatch check in scrobble_listenbrainz function #9

merged opened by tsiry-sandratraina.com targeting main from fix/track-metadata
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:7vdlgi2bflelz7mmuxoqjfcr/sh.tangled.repo.pull/3lzugys6efx22
+14
Diff #0
+14
crates/scrobbler/src/scrobbler.rs
··· 610 .await?; 611 612 if let Some(track) = result.tracks.items.first() { 613 tracing::info!("Spotify (track)"); 614 scrobble.album = Some(track.album.name.clone()); 615 let mut track = track.clone();
··· 610 .await?; 611 612 if let Some(track) = result.tracks.items.first() { 613 + let artists = track 614 + .artists 615 + .iter() 616 + .map(|a| a.name.clone()) 617 + .collect::<Vec<_>>() 618 + .join(", ") 619 + .to_lowercase(); 620 + 621 + // check if artists don't contain the scrobble artist (to avoid wrong matches) 622 + if !artists.contains(&scrobble.artist.to_lowercase()) { 623 + tracing::warn!(artist = %artist, track = %track, "Artist mismatch, skipping"); 624 + return Ok(()); 625 + } 626 + 627 tracing::info!("Spotify (track)"); 628 scrobble.album = Some(track.album.name.clone()); 629 let mut track = track.clone();

History

1 round 0 comments
sign up or login to add to the discussion
1 commit
expand
fix: add artist mismatch check in scrobble_listenbrainz function
expand 0 comments
pull request successfully merged