diff --git a/metadata/src/lib.rs b/metadata/src/lib.rs index c6f5a5b2..3ad5c4e5 100644 --- a/metadata/src/lib.rs +++ b/metadata/src/lib.rs @@ -194,15 +194,19 @@ impl Metadata for Artist { fn parse(msg: &Self::Message, session: &Session) -> Self { let country = session.country(); - let top_tracks = msg.get_top_track() + let top_tracks: Vec = match msg.get_top_track() .iter() - .find(|tt| !tt.has_country() || countrylist_contains(tt.get_country(), &country)) - .unwrap() - .get_track() - .iter() - .filter(|track| track.has_gid()) - .map(|track| SpotifyId::from_raw(track.get_gid())) - .collect::>(); + .find(|tt| !tt.has_country() || countrylist_contains(tt.get_country(), &country)) { + Some(tracks) => { + tracks.get_track() + .iter() + .filter(|track| track.has_gid()) + .map(|track| SpotifyId::from_raw(track.get_gid())) + .collect::>() + }, + None => Vec::new() + }; + Artist { id: SpotifyId::from_raw(msg.get_gid()),