diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-25 10:40:16 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-25 10:40:16 -0500 |
| commit | aef805efb9e1655978bb1a71990f1060a3dcf768 (patch) | |
| tree | b1ef969377e2337d17cc2feb9a83ea774b12bb63 /MediaBrowser.Controller | |
| parent | 7497fe9554482fcdf78ed49c436edba0b20c8350 (diff) | |
fix directory not found error in episode organization
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Season.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/BaseItemXmlParser.cs | 16 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/ItemLookupInfo.cs | 7 |
4 files changed, 36 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index e682a0d2f..954b36bf2 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -940,7 +940,7 @@ namespace MediaBrowser.Controller.Entities // First get using the cached Id if (info.ItemId != Guid.Empty) { - item = LibraryManager.GetItemById(info.ItemId) as BaseItem; + item = LibraryManager.GetItemById(info.ItemId); } // If still null, search by path @@ -1098,7 +1098,9 @@ namespace MediaBrowser.Controller.Entities return this; } - return RecursiveChildren.FirstOrDefault(i => string.Equals(i.Path, path, StringComparison.OrdinalIgnoreCase) || i.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase)); + return RecursiveChildren.FirstOrDefault(i => string.Equals(i.Path, path, StringComparison.OrdinalIgnoreCase) || + (!i.IsFolder && !i.IsInMixedFolder && string.Equals(i.ContainingFolderPath, path, StringComparison.OrdinalIgnoreCase)) || + i.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase)); } public override bool IsPlayed(User user) diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index 2847c397e..4fadd8f6e 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -250,7 +250,16 @@ namespace MediaBrowser.Controller.Entities.TV /// <returns>SeasonInfo.</returns> public SeasonInfo GetLookupInfo() { - return GetItemLookupInfo<SeasonInfo>(); + var id = GetItemLookupInfo<SeasonInfo>(); + + var series = Series; + + if (series != null) + { + id.SeriesProviderIds = series.ProviderIds; + } + + return id; } /// <summary> diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index ada0aa6e2..0163dec20 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -683,6 +683,22 @@ namespace MediaBrowser.Controller.Providers } break; } + case "MusicbrainzId": + { + var mbz = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(mbz)) + { + if (item is MusicAlbum) + { + item.SetProviderId(MetadataProviders.MusicBrainzAlbum, mbz); + } + else if (item is MusicArtist) + { + item.SetProviderId(MetadataProviders.MusicBrainzArtist, mbz); + } + } + break; + } case "MusicBrainzAlbumId": { var mbz = reader.ReadElementContentAsString(); diff --git a/MediaBrowser.Controller/Providers/ItemLookupInfo.cs b/MediaBrowser.Controller/Providers/ItemLookupInfo.cs index 665da28f4..c2409715a 100644 --- a/MediaBrowser.Controller/Providers/ItemLookupInfo.cs +++ b/MediaBrowser.Controller/Providers/ItemLookupInfo.cs @@ -152,6 +152,11 @@ namespace MediaBrowser.Controller.Providers public class SeasonInfo : ItemLookupInfo { - + public Dictionary<string, string> SeriesProviderIds { get; set; } + + public SeasonInfo() + { + SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); + } } } |
