diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata')
5 files changed, 25 insertions, 22 deletions
diff --git a/MediaBrowser.LocalMetadata/BaseXmlProvider.cs b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs index 6f8047e4c..74e3b61ca 100644 --- a/MediaBrowser.LocalMetadata/BaseXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs @@ -28,8 +28,6 @@ namespace MediaBrowser.LocalMetadata var path = file.FullName; - //await XmlProviderUtils.XmlParsingResourcePool.WaitAsync(cancellationToken).ConfigureAwait(false); - try { result.Item = new T(); @@ -45,10 +43,6 @@ namespace MediaBrowser.LocalMetadata { result.HasMetadata = false; } - finally - { - //XmlProviderUtils.XmlParsingResourcePool.Release(); - } return result; } @@ -90,7 +84,7 @@ namespace MediaBrowser.LocalMetadata { get { - return "Media Browser Legacy Xml"; + return "Media Browser Xml"; } } diff --git a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs index 044d29a1b..7f83aa61d 100644 --- a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs @@ -1,7 +1,6 @@ using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; @@ -76,11 +75,14 @@ namespace MediaBrowser.LocalMetadata.Images { return directoryService.GetFileSystemEntries(path) .Where(i => BaseItem.SupportedImageExtensions.Contains(i.Extension, StringComparer.OrdinalIgnoreCase) || - (i.Attributes & FileAttributes.Directory) == FileAttributes.Directory); + (i.Attributes & FileAttributes.Directory) == FileAttributes.Directory) + + .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty)); } return directoryService.GetFiles(path) - .Where(i => BaseItem.SupportedImageExtensions.Contains(i.Extension, StringComparer.OrdinalIgnoreCase)); + .Where(i => BaseItem.SupportedImageExtensions.Contains(i.Extension, StringComparer.OrdinalIgnoreCase)) + .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty)); } public List<LocalImageInfo> GetImages(IHasImages item, IDirectoryService directoryService) @@ -109,6 +111,7 @@ namespace MediaBrowser.LocalMetadata.Images return !string.IsNullOrEmpty(ext) && BaseItem.SupportedImageExtensions.Contains(ext, StringComparer.OrdinalIgnoreCase); }) + .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty)) .ToList(); var list = new List<LocalImageInfo>(); @@ -166,8 +169,8 @@ namespace MediaBrowser.LocalMetadata.Images var names = new List<string> { "folder", - "cover", "poster", + "cover", "default" }; @@ -402,13 +405,7 @@ namespace MediaBrowser.LocalMetadata.Images private FileSystemInfo GetImage(IEnumerable<FileSystemInfo> files, string name) { - var candidates = files - .Where(i => string.Equals(name, _fileSystem.GetFileNameWithoutExtension(i), StringComparison.OrdinalIgnoreCase)) - .ToList(); - - return BaseItem.SupportedImageExtensions - .Select(i => candidates.FirstOrDefault(c => string.Equals(c.Extension, i, StringComparison.OrdinalIgnoreCase))) - .FirstOrDefault(i => i != null); + return files.FirstOrDefault(i => ((i.Attributes & FileAttributes.Directory) != FileAttributes.Directory) && string.Equals(name, _fileSystem.GetFileNameWithoutExtension(i), StringComparison.OrdinalIgnoreCase)); } } } diff --git a/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs index fa3d7d87d..67fa12b55 100644 --- a/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/FolderXmlSaver.cs @@ -49,7 +49,7 @@ namespace MediaBrowser.LocalMetadata.Savers !(item is GameSystem) && !(item is Playlist)) { - return updateType >= ItemUpdateType.MetadataDownload; + return updateType >= ItemUpdateType.MetadataEdit; } } diff --git a/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs index 6fe9f88f0..cad08e638 100644 --- a/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/MovieXmlSaver.cs @@ -19,11 +19,13 @@ namespace MediaBrowser.LocalMetadata.Savers { private readonly IItemRepository _itemRepository; private readonly IServerConfigurationManager _config; + private readonly ILibraryManager _libraryManager; - public MovieXmlSaver(IItemRepository itemRepository, IServerConfigurationManager config) + public MovieXmlSaver(IItemRepository itemRepository, IServerConfigurationManager config, ILibraryManager libraryManager) { _itemRepository = itemRepository; _config = config; + _libraryManager = libraryManager; } public string Name @@ -52,6 +54,15 @@ namespace MediaBrowser.LocalMetadata.Savers // Check parent for null to avoid running this against things like video backdrops if (video != null && !(item is Episode) && !video.IsOwnedItem) { + // If it's a plain video, skip if content type is unset (unless editing) + if (video.GetType() == typeof(Video)) + { + if (updateType < ItemUpdateType.MetadataEdit && string.IsNullOrEmpty(_libraryManager.GetContentType(video))) + { + return false; + } + } + return updateType >= ItemUpdateType.MetadataDownload; } diff --git a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs index 3e11c994b..b5b9278cc 100644 --- a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs +++ b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs @@ -112,7 +112,8 @@ namespace MediaBrowser.LocalMetadata.Savers "Website", "Zap2ItId", "CollectionItems", - "PlaylistItems" + "PlaylistItems", + "Shares" }.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); @@ -649,7 +650,7 @@ namespace MediaBrowser.LocalMetadata.Savers var hasShares = item as IHasShares; if (hasShares != null) { - + AddShares(hasShares, builder); } } |
