From 154b672d47269b8fae9f1312ba572994839cda5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Mon, 10 Oct 2011 18:56:06 +0200 Subject: [PATCH] Fix bad parsing --- thirdparty/liblastfm2/src/types/Track.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/thirdparty/liblastfm2/src/types/Track.cpp b/thirdparty/liblastfm2/src/types/Track.cpp index 069283a97..0111b8a9d 100644 --- a/thirdparty/liblastfm2/src/types/Track.cpp +++ b/thirdparty/liblastfm2/src/types/Track.cpp @@ -97,10 +97,24 @@ lastfm::Track::Track( const QDomElement& e ) if (e.isNull()) { d->null = true; return; } - d->artist = e.namedItem( "artist" ).toElement().text(); + // XML response may have changed + QDomNode artistName = e.namedItem( "artist" ).namedItem( "name" ); + if( artistName.isNull() ) { + d->artist = e.namedItem( "artist" ).toElement().text(); + } else { + d->artist = artistName.toElement().text(); + + } + // XML response may have changed + QDomNode trackTitle = e.namedItem( "name" ); + if( trackTitle.isNull() ) + d->title = e.namedItem( "track" ).toElement().text(); + else + d->title = trackTitle.toElement().text(); + + d->albumArtist = e.namedItem( "albumArtist" ).toElement().text(); d->album = e.namedItem( "album" ).toElement().text(); - d->title = e.namedItem( "track" ).toElement().text(); d->correctedArtist = e.namedItem( "correctedArtist" ).toElement().text(); d->correctedAlbumArtist = e.namedItem( "correctedAlbumArtist" ).toElement().text(); d->correctedAlbum = e.namedItem( "correctedAlbum" ).toElement().text();