Merge pull request #29 from zumicts/master

Fixes #30: Kiesza bug in parsing Album.Tags
This commit is contained in:
Rikki Tooley 2014-10-22 16:11:43 +01:00
commit d0a4283ba7
3 changed files with 24 additions and 5 deletions

View File

@ -71,7 +71,12 @@ internal static LastAlbum ParseJToken(JToken token)
{
var tagToken = tagsToken.SelectToken("tag");
if (tagToken != null)
a.TopTags = tagToken.Children().Select(LastTag.ParseJToken);
{
a.TopTags =
tagToken.Type == JTokenType.Array
? tagToken.Children().Select(LastTag.ParseJToken)
: new List<LastTag> { LastTag.ParseJToken(tagToken) };
}
}
a.ListenerCount = token.Value<int>("listeners");

View File

@ -41,9 +41,16 @@ internal static LastArtist ParseJToken(JToken token)
a.OnTour = Convert.ToBoolean(token.Value<int>("ontour"));
var tagsToken = token.SelectToken("tags");
if (tagsToken != null && tagsToken.HasValues)
if (tagsToken != null)
{
a.Tags = tagsToken.SelectToken("tag").Children().Select(LastTag.ParseJToken);
var tagToken = tagsToken.SelectToken("tag");
if (tagToken != null)
{
a.Tags =
tagToken.Type == JTokenType.Array
? tagToken.Children().Select(LastTag.ParseJToken)
: new List<LastTag> { LastTag.ParseJToken(tagToken) };
}
}
var images = token.SelectToken("image");

View File

@ -66,9 +66,16 @@ internal static LastTrack ParseJToken(JToken token)
}
var tagsToken = token.SelectToken("toptags");
if (tagsToken != null && tagsToken.HasValues)
if (tagsToken != null)
{
t.TopTags = tagsToken.SelectToken("tag").Children().Select(LastTag.ParseJToken);
var tagToken = tagsToken.SelectToken("tag");
if (tagToken != null)
{
t.TopTags =
tagToken.Type == JTokenType.Array
? tagToken.Children().Select(LastTag.ParseJToken)
: new List<LastTag> { LastTag.ParseJToken(tagToken) };
}
}
var date = token.SelectToken("date");