|
|
|
@ -205,31 +205,38 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
|
|
|
|
var currentActor = episode.GuestStars[i];
|
|
|
|
|
var roleStartIndex = currentActor.IndexOf('(');
|
|
|
|
|
|
|
|
|
|
var roles = new List<string> {currentActor.Substring(roleStartIndex + 1)};
|
|
|
|
|
var name = currentActor.Substring(0, roleStartIndex).Trim();
|
|
|
|
|
|
|
|
|
|
// Fetch all roles
|
|
|
|
|
for (var j = i + 1; j < episode.GuestStars.Length; ++j)
|
|
|
|
|
string name = currentActor;
|
|
|
|
|
string role = "";
|
|
|
|
|
if (roleStartIndex != -1)
|
|
|
|
|
{
|
|
|
|
|
var currentRole = episode.GuestStars[j];
|
|
|
|
|
var roleEndIndex = currentRole.IndexOf(')');
|
|
|
|
|
var roles = new List<string> {currentActor.Substring(roleStartIndex + 1)};
|
|
|
|
|
name = name.Substring(0, roleStartIndex).Trim();
|
|
|
|
|
|
|
|
|
|
if (roleEndIndex != -1)
|
|
|
|
|
// Fetch all roles
|
|
|
|
|
for (var j = i + 1; j < episode.GuestStars.Length; ++j)
|
|
|
|
|
{
|
|
|
|
|
roles.Add(currentRole.TrimEnd(')'));
|
|
|
|
|
// Update the outer index (keep in mind it adds 1 after the iteration)
|
|
|
|
|
i = j;
|
|
|
|
|
break;
|
|
|
|
|
var currentRole = episode.GuestStars[j];
|
|
|
|
|
var roleEndIndex = currentRole.IndexOf(')');
|
|
|
|
|
|
|
|
|
|
if (roleEndIndex != -1)
|
|
|
|
|
{
|
|
|
|
|
roles.Add(currentRole.TrimEnd(')'));
|
|
|
|
|
// Update the outer index (keep in mind it adds 1 after the iteration)
|
|
|
|
|
i = j;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
roles.Add(currentRole);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
roles.Add(currentRole);
|
|
|
|
|
role = string.Join(", ", roles);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
result.AddPerson(new PersonInfo
|
|
|
|
|
{
|
|
|
|
|
Type = PersonType.GuestStar,
|
|
|
|
|
Name = name,
|
|
|
|
|
Role = string.Join(", ", roles)
|
|
|
|
|
Role = role
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|