fix crash for artists without tracks (closes #103) (#256)

This commit is contained in:
Jakob 2017-10-01 04:15:19 +02:00 committed by Paul Liétar
parent 696aec33e9
commit 030b318a9c

View file

@ -194,15 +194,19 @@ impl Metadata for Artist {
fn parse(msg: &Self::Message, session: &Session) -> Self { fn parse(msg: &Self::Message, session: &Session) -> Self {
let country = session.country(); let country = session.country();
let top_tracks = msg.get_top_track() let top_tracks: Vec<SpotifyId> = match msg.get_top_track()
.iter() .iter()
.find(|tt| !tt.has_country() || countrylist_contains(tt.get_country(), &country)) .find(|tt| !tt.has_country() || countrylist_contains(tt.get_country(), &country)) {
.unwrap() Some(tracks) => {
.get_track() tracks.get_track()
.iter() .iter()
.filter(|track| track.has_gid()) .filter(|track| track.has_gid())
.map(|track| SpotifyId::from_raw(track.get_gid())) .map(|track| SpotifyId::from_raw(track.get_gid()))
.collect::<Vec<_>>(); .collect::<Vec<_>>()
},
None => Vec::new()
};
Artist { Artist {
id: SpotifyId::from_raw(msg.get_gid()), id: SpotifyId::from_raw(msg.get_gid()),