mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 09:59:06 -07:00
add comma delimiters for writers and actors
This commit is contained in:
parent
aeb5984ee8
commit
4a5831adb6
@ -69,7 +69,7 @@ namespace MediaBrowser.Providers.TV
|
||||
return ItemUpdateType.ImageUpdate | ItemUpdateType.MetadataDownload;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the priority.
|
||||
/// </summary>
|
||||
@ -147,7 +147,7 @@ namespace MediaBrowser.Providers.TV
|
||||
return seriesXmlFileInfo.LastWriteTimeUtc;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return base.CompareDate(item);
|
||||
}
|
||||
|
||||
@ -240,7 +240,7 @@ namespace MediaBrowser.Providers.TV
|
||||
{
|
||||
return status;
|
||||
}
|
||||
IEnumerable<XmlDocument> extraEpisodesNode = new XmlDocument[]{};
|
||||
IEnumerable<XmlDocument> extraEpisodesNode = new XmlDocument[] { };
|
||||
|
||||
if (episode.IndexNumberEnd.HasValue)
|
||||
{
|
||||
@ -262,7 +262,7 @@ namespace MediaBrowser.Providers.TV
|
||||
var xElements = all.Where(x => int.Parse(x.Element("EpisodeNumber").Value) > episode.IndexNumber && int.Parse(x.Element("EpisodeNumber").Value) <= episode.IndexNumberEnd.Value);
|
||||
extraEpisodesNode = xElements.OrderBy(x => x.Element("EpisodeNumber").Value).Select(x => x.ToXmlDocument());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
var doc = new XmlDocument();
|
||||
doc.LoadXml(episodeNode.OuterXml);
|
||||
@ -320,14 +320,15 @@ namespace MediaBrowser.Providers.TV
|
||||
var persons = Regex.Matches(actors, @"([^|()]|\([^)]*\)*)+")
|
||||
.Cast<Match>()
|
||||
.Select(m => m.Value).Where(i => !string.IsNullOrWhiteSpace(i) && !string.IsNullOrEmpty(i));
|
||||
foreach (var person in persons.Select(str => {
|
||||
var nameGroup = str.Split(new[] {'('}, 2, StringSplitOptions.RemoveEmptyEntries);
|
||||
var name = nameGroup[0].Trim();
|
||||
var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
|
||||
if (roles != null)
|
||||
roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
|
||||
return new PersonInfo {Type = PersonType.GuestStar, Name = name, Role = roles};
|
||||
}))
|
||||
foreach (var person in persons.Select(str =>
|
||||
{
|
||||
var nameGroup = str.Split(new[] { '(' }, 2, StringSplitOptions.RemoveEmptyEntries);
|
||||
var name = nameGroup[0].Trim();
|
||||
var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
|
||||
if (roles != null)
|
||||
roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
|
||||
return new PersonInfo { Type = PersonType.GuestStar, Name = name, Role = roles };
|
||||
}))
|
||||
{
|
||||
episode.AddPerson(person);
|
||||
}
|
||||
@ -340,14 +341,15 @@ namespace MediaBrowser.Providers.TV
|
||||
var persons = Regex.Matches(extraActors, @"([^|()]|\([^)]*\)*)+")
|
||||
.Cast<Match>()
|
||||
.Select(m => m.Value).Where(i => !string.IsNullOrWhiteSpace(i) && !string.IsNullOrEmpty(i));
|
||||
foreach (var person in persons.Select(str => {
|
||||
var nameGroup = str.Split(new[] {'('}, 2, StringSplitOptions.RemoveEmptyEntries);
|
||||
var name = nameGroup[0].Trim();
|
||||
var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
|
||||
if (roles != null)
|
||||
roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
|
||||
return new PersonInfo {Type = PersonType.GuestStar, Name = name, Role = roles};
|
||||
}).Where(person => !episode.People.Any(x => x.Type == person.Type && x.Name == person.Name))
|
||||
foreach (var person in persons.Select(str =>
|
||||
{
|
||||
var nameGroup = str.Split(new[] { '(' }, 2, StringSplitOptions.RemoveEmptyEntries);
|
||||
var name = nameGroup[0].Trim();
|
||||
var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
|
||||
if (roles != null)
|
||||
roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
|
||||
return new PersonInfo { Type = PersonType.GuestStar, Name = name, Role = roles };
|
||||
}).Where(person => !episode.People.Any(x => x.Type == person.Type && x.Name == person.Name))
|
||||
)
|
||||
{
|
||||
episode.AddPerson(person);
|
||||
@ -358,9 +360,9 @@ namespace MediaBrowser.Providers.TV
|
||||
if (directors != null)
|
||||
{
|
||||
// Sometimes tvdb actors have leading spaces
|
||||
foreach (var person in directors.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries)
|
||||
foreach (var person in directors.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
|
||||
.Where(i => !string.IsNullOrWhiteSpace(i))
|
||||
.Select(str => new PersonInfo {Type = PersonType.Director, Name = str.Trim()}))
|
||||
.Select(str => new PersonInfo { Type = PersonType.Director, Name = str.Trim() }))
|
||||
{
|
||||
episode.AddPerson(person);
|
||||
}
|
||||
@ -371,9 +373,9 @@ namespace MediaBrowser.Providers.TV
|
||||
if (writers != null)
|
||||
{
|
||||
// Sometimes tvdb actors have leading spaces
|
||||
foreach (var person in writers.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries)
|
||||
foreach (var person in writers.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
|
||||
.Where(i => !string.IsNullOrWhiteSpace(i))
|
||||
.Select(str => new PersonInfo {Type = PersonType.Writer, Name = str.Trim()}))
|
||||
.Select(str => new PersonInfo { Type = PersonType.Writer, Name = str.Trim() }))
|
||||
{
|
||||
episode.AddPerson(person);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user