diff options
Diffstat (limited to 'MediaBrowser.Controller')
6 files changed, 36 insertions, 12 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index ccaabd438..3c60d3a39 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Localization; @@ -33,7 +32,7 @@ namespace MediaBrowser.Controller.Entities /// Gets or sets the name. /// </summary> /// <value>The name.</value> - public virtual string Name { get; set; } + public string Name { get; set; } /// <summary> /// Gets or sets the id. @@ -478,7 +477,7 @@ namespace MediaBrowser.Controller.Entities /// </summary> /// <value>The end date.</value> public DateTime? EndDate { get; set; } - + /// <summary> /// Gets or sets the display type of the media. /// </summary> @@ -570,7 +569,7 @@ namespace MediaBrowser.Controller.Entities /// </summary> /// <value>The production locations.</value> public List<string> ProductionLocations { get; set; } - + /// <summary> /// Gets or sets the community rating. /// </summary> diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index fed6bb7de..5816b23f8 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -127,7 +127,7 @@ namespace MediaBrowser.Controller.Entities /// <returns>IEnumerable{BaseItem}.</returns> protected IEnumerable<BaseItem> GetIndexByPerformer(User user) { - return GetIndexByPerson(user, new List<string> { PersonType.Actor, PersonType.MusicArtist }, LocalizedStrings.Instance.GetString("PerformerDispPref")); + return GetIndexByPerson(user, new List<string> { PersonType.Actor, PersonType.MusicArtist, PersonType.GuestStar }, LocalizedStrings.Instance.GetString("PerformerDispPref")); } /// <summary> diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index d539ed771..e0091cd80 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -242,7 +242,6 @@ namespace MediaBrowser.Controller.Providers } case "Actors": - case "GuestStars": { foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new PersonInfo { Name = v.Trim(), Type = PersonType.Actor })) { @@ -255,6 +254,19 @@ namespace MediaBrowser.Controller.Providers break; } + case "GuestStars": + { + foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new PersonInfo { Name = v.Trim(), Type = PersonType.GuestStar })) + { + if (string.IsNullOrWhiteSpace(p.Name)) + { + continue; + } + item.AddPerson(p); + } + break; + } + case "Trailer": { var val = reader.ReadElementContentAsString(); diff --git a/MediaBrowser.Controller/Providers/ImagesByNameProvider.cs b/MediaBrowser.Controller/Providers/ImagesByNameProvider.cs index 53ff94720..1c4c783c4 100644 --- a/MediaBrowser.Controller/Providers/ImagesByNameProvider.cs +++ b/MediaBrowser.Controller/Providers/ImagesByNameProvider.cs @@ -63,7 +63,20 @@ namespace MediaBrowser.Controller.Providers { // If the IBN location exists return the last modified date of any file in it var location = GetLocation(item); - return Directory.Exists(location) ? FileSystem.GetFiles(location).Select(f => f.CreationTimeUtc > f.LastWriteTimeUtc ? f.CreationTimeUtc : f.LastWriteTimeUtc).Max() : DateTime.MinValue; + + if (!Directory.Exists(location)) + { + return DateTime.MinValue; + } + + var files = FileSystem.GetFiles(location).ToList(); + + if (files.Count == 0) + { + return DateTime.MinValue; + } + + return files.Select(f => f.CreationTimeUtc > f.LastWriteTimeUtc ? f.CreationTimeUtc : f.LastWriteTimeUtc).Max(); } /// <summary> diff --git a/MediaBrowser.Controller/Providers/TV/RemoteEpisodeProvider.cs b/MediaBrowser.Controller/Providers/TV/RemoteEpisodeProvider.cs index 6be0881b4..b5c6df7ec 100644 --- a/MediaBrowser.Controller/Providers/TV/RemoteEpisodeProvider.cs +++ b/MediaBrowser.Controller/Providers/TV/RemoteEpisodeProvider.cs @@ -263,21 +263,21 @@ namespace MediaBrowser.Controller.Providers.TV var actors = doc.SafeGetString("//GuestStars"); if (actors != null) { - episode.AddPeople(actors.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(str => new PersonInfo { Type = "Actor", Name = str })); + episode.AddPeople(actors.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(str => new PersonInfo { Type = PersonType.GuestStar, Name = str })); } var directors = doc.SafeGetString("//Director"); if (directors != null) { - episode.AddPeople(directors.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(str => new PersonInfo { Type = "Director", Name = str })); + episode.AddPeople(directors.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(str => new PersonInfo { Type = PersonType.Director, Name = str })); } var writers = doc.SafeGetString("//Writer"); if (writers != null) { - episode.AddPeople(writers.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(str => new PersonInfo { Type = "Writer", Name = str })); + episode.AddPeople(writers.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(str => new PersonInfo { Type = PersonType.Writer, Name = str })); } if (ConfigurationManager.Configuration.SaveLocalMeta) diff --git a/MediaBrowser.Controller/Providers/TV/RemoteSeriesProvider.cs b/MediaBrowser.Controller/Providers/TV/RemoteSeriesProvider.cs index f4e6d7893..89cb89289 100644 --- a/MediaBrowser.Controller/Providers/TV/RemoteSeriesProvider.cs +++ b/MediaBrowser.Controller/Providers/TV/RemoteSeriesProvider.cs @@ -322,7 +322,7 @@ namespace MediaBrowser.Controller.Providers.TV personNode.AppendChild(doc.ImportNode(subNode, true)); //need to add the type var typeNode = doc.CreateNode(XmlNodeType.Element, "Type", null); - typeNode.InnerText = "Actor"; + typeNode.InnerText = PersonType.Actor; personNode.AppendChild(typeNode); actorsNode.AppendChild(personNode); } |
