From 3eb4091808735858b01855d298226d239be464af Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 3 Nov 2016 02:37:52 -0400 Subject: move additional classes to new server lib --- .../Library/Resolvers/Audio/AudioResolver.cs | 68 --- .../Library/Resolvers/Audio/MusicAlbumResolver.cs | 173 ------- .../Library/Resolvers/Audio/MusicArtistResolver.cs | 94 ---- .../Library/Resolvers/BaseVideoResolver.cs | 297 ----------- .../Library/Resolvers/FolderResolver.cs | 56 --- .../Library/Resolvers/ItemResolver.cs | 62 --- .../Library/Resolvers/Movies/BoxSetResolver.cs | 77 --- .../Library/Resolvers/Movies/MovieResolver.cs | 541 --------------------- .../Library/Resolvers/PhotoAlbumResolver.cs | 56 --- .../Library/Resolvers/PhotoResolver.cs | 103 ---- .../Library/Resolvers/PlaylistResolver.cs | 42 -- .../Library/Resolvers/SpecialFolderResolver.cs | 85 ---- .../Library/Resolvers/TV/EpisodeResolver.cs | 75 --- .../Library/Resolvers/TV/SeasonResolver.cs | 62 --- .../Library/Resolvers/TV/SeriesResolver.cs | 251 ---------- .../Library/Resolvers/VideoResolver.cs | 45 -- 16 files changed, 2087 deletions(-) delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/ItemResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/PhotoAlbumResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/PlaylistResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/SpecialFolderResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/TV/EpisodeResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs delete mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/VideoResolver.cs (limited to 'MediaBrowser.Server.Implementations/Library/Resolvers') diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs deleted file mode 100644 index 039a17100..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs +++ /dev/null @@ -1,68 +0,0 @@ -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Resolvers; -using MediaBrowser.Model.Entities; -using System; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio -{ - /// - /// Class AudioResolver - /// - public class AudioResolver : ItemResolver - { - private readonly ILibraryManager _libraryManager; - - public AudioResolver(ILibraryManager libraryManager) - { - _libraryManager = libraryManager; - } - - /// - /// Gets the priority. - /// - /// The priority. - public override ResolverPriority Priority - { - get { return ResolverPriority.Last; } - } - - /// - /// Resolves the specified args. - /// - /// The args. - /// Entities.Audio.Audio. - protected override Controller.Entities.Audio.Audio Resolve(ItemResolveArgs args) - { - // Return audio if the path is a file and has a matching extension - - if (!args.IsDirectory) - { - var libraryOptions = args.GetLibraryOptions(); - - if (_libraryManager.IsAudioFile(args.Path, libraryOptions)) - { - var collectionType = args.GetCollectionType(); - - var isMixed = string.IsNullOrWhiteSpace(collectionType); - - // For conflicting extensions, give priority to videos - if (isMixed && _libraryManager.IsVideoFile(args.Path, libraryOptions)) - { - return null; - } - - var isStandalone = args.Parent == null; - - if (isStandalone || - string.Equals(collectionType, CollectionType.Music, StringComparison.OrdinalIgnoreCase) || - isMixed) - { - return new Controller.Entities.Audio.Audio(); - } - } - } - - return null; - } - } -} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs deleted file mode 100644 index c1ac7d68c..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs +++ /dev/null @@ -1,173 +0,0 @@ -using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Controller.Resolvers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using MediaBrowser.Naming.Audio; -using MediaBrowser.Server.Implementations.Logging; -using System; -using System.Collections.Generic; -using System.IO; -using MediaBrowser.Common.IO; -using MediaBrowser.Model.IO; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.IO; -using MediaBrowser.Model.Configuration; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio -{ - /// - /// Class MusicAlbumResolver - /// - public class MusicAlbumResolver : ItemResolver - { - private readonly ILogger _logger; - private readonly IFileSystem _fileSystem; - private readonly ILibraryManager _libraryManager; - - public MusicAlbumResolver(ILogger logger, IFileSystem fileSystem, ILibraryManager libraryManager) - { - _logger = logger; - _fileSystem = fileSystem; - _libraryManager = libraryManager; - } - - /// - /// Gets the priority. - /// - /// The priority. - public override ResolverPriority Priority - { - get - { - // Behind special folder resolver - return ResolverPriority.Second; - } - } - - /// - /// Resolves the specified args. - /// - /// The args. - /// MusicAlbum. - protected override MusicAlbum Resolve(ItemResolveArgs args) - { - if (!args.IsDirectory) return null; - - // Avoid mis-identifying top folders - if (args.HasParent()) return null; - if (args.Parent.IsRoot) return null; - - var collectionType = args.GetCollectionType(); - - var isMusicMediaFolder = string.Equals(collectionType, CollectionType.Music, StringComparison.OrdinalIgnoreCase); - - // If there's a collection type and it's not music, don't allow it. - if (!isMusicMediaFolder) - { - return null; - } - - return IsMusicAlbum(args) ? new MusicAlbum() : null; - } - - - /// - /// Determine if the supplied file data points to a music album - /// - public bool IsMusicAlbum(string path, IDirectoryService directoryService, LibraryOptions libraryOptions) - { - return ContainsMusic(directoryService.GetFileSystemEntries(path), true, directoryService, _logger, _fileSystem, libraryOptions, _libraryManager); - } - - /// - /// Determine if the supplied resolve args should be considered a music album - /// - /// The args. - /// true if [is music album] [the specified args]; otherwise, false. - private bool IsMusicAlbum(ItemResolveArgs args) - { - // Args points to an album if parent is an Artist folder or it directly contains music - if (args.IsDirectory) - { - //if (args.Parent is MusicArtist) return true; //saves us from testing children twice - if (ContainsMusic(args.FileSystemChildren, true, args.DirectoryService, _logger, _fileSystem, args.GetLibraryOptions(), _libraryManager)) return true; - } - - return false; - } - - /// - /// Determine if the supplied list contains what we should consider music - /// - private bool ContainsMusic(IEnumerable list, - bool allowSubfolders, - IDirectoryService directoryService, - ILogger logger, - IFileSystem fileSystem, - LibraryOptions libraryOptions, - ILibraryManager libraryManager) - { - var discSubfolderCount = 0; - var notMultiDisc = false; - - foreach (var fileSystemInfo in list) - { - if (fileSystemInfo.IsDirectory) - { - if (allowSubfolders) - { - var path = fileSystemInfo.FullName; - var isMultiDisc = IsMultiDiscFolder(path, libraryOptions); - - if (isMultiDisc) - { - var hasMusic = ContainsMusic(directoryService.GetFileSystemEntries(path), false, directoryService, logger, fileSystem, libraryOptions, libraryManager); - - if (hasMusic) - { - logger.Debug("Found multi-disc folder: " + path); - discSubfolderCount++; - } - } - else - { - var hasMusic = ContainsMusic(directoryService.GetFileSystemEntries(path), false, directoryService, logger, fileSystem, libraryOptions, libraryManager); - - if (hasMusic) - { - // If there are folders underneath with music that are not multidisc, then this can't be a multi-disc album - notMultiDisc = true; - } - } - } - } - - var fullName = fileSystemInfo.FullName; - - if (libraryManager.IsAudioFile(fullName, libraryOptions)) - { - return true; - } - } - - if (notMultiDisc) - { - return false; - } - - return discSubfolderCount > 0; - } - - private bool IsMultiDiscFolder(string path, LibraryOptions libraryOptions) - { - var namingOptions = ((LibraryManager)_libraryManager).GetNamingOptions(libraryOptions); - - var parser = new AlbumParser(namingOptions, new PatternsLogger()); - var result = parser.ParseMultiPart(path); - - return result.IsMultiPart; - } - } -} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs deleted file mode 100644 index be651b9c8..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs +++ /dev/null @@ -1,94 +0,0 @@ -using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Resolvers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System; -using System.IO; -using System.Linq; -using MediaBrowser.Common.IO; -using MediaBrowser.Model.IO; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.IO; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio -{ - /// - /// Class MusicArtistResolver - /// - public class MusicArtistResolver : ItemResolver - { - private readonly ILogger _logger; - private readonly IFileSystem _fileSystem; - private readonly ILibraryManager _libraryManager; - private readonly IServerConfigurationManager _config; - - public MusicArtistResolver(ILogger logger, IFileSystem fileSystem, ILibraryManager libraryManager, IServerConfigurationManager config) - { - _logger = logger; - _fileSystem = fileSystem; - _libraryManager = libraryManager; - _config = config; - } - - /// - /// Gets the priority. - /// - /// The priority. - public override ResolverPriority Priority - { - get - { - // Behind special folder resolver - return ResolverPriority.Second; - } - } - - /// - /// Resolves the specified args. - /// - /// The args. - /// MusicArtist. - protected override MusicArtist Resolve(ItemResolveArgs args) - { - if (!args.IsDirectory) return null; - - // Don't allow nested artists - if (args.HasParent() || args.HasParent()) - { - return null; - } - - var collectionType = args.GetCollectionType(); - - var isMusicMediaFolder = string.Equals(collectionType, CollectionType.Music, StringComparison.OrdinalIgnoreCase); - - // If there's a collection type and it's not music, it can't be a series - if (!isMusicMediaFolder) - { - return null; - } - - if (args.ContainsFileSystemEntryByName("artist.nfo")) - { - return new MusicArtist(); - } - - if (_config.Configuration.EnableSimpleArtistDetection) - { - return null; - } - - // Avoid mis-identifying top folders - if (args.Parent.IsRoot) return null; - - var directoryService = args.DirectoryService; - - var albumResolver = new MusicAlbumResolver(_logger, _fileSystem, _libraryManager); - - // If we contain an album assume we are an artist folder - return args.FileSystemChildren.Where(i => i.IsDirectory).Any(i => albumResolver.IsMusicAlbum(i.FullName, directoryService, args.GetLibraryOptions())) ? new MusicArtist() : null; - } - - } -} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs deleted file mode 100644 index 4dce16139..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs +++ /dev/null @@ -1,297 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Entities; -using MediaBrowser.Naming.Video; -using MediaBrowser.Server.Implementations.Logging; -using System; -using System.IO; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers -{ - /// - /// Resolves a Path into a Video or Video subclass - /// - /// - public abstract class BaseVideoResolver : Controller.Resolvers.ItemResolver - where T : Video, new() - { - protected readonly ILibraryManager LibraryManager; - - protected BaseVideoResolver(ILibraryManager libraryManager) - { - LibraryManager = libraryManager; - } - - /// - /// Resolves the specified args. - /// - /// The args. - /// `0. - protected override T Resolve(ItemResolveArgs args) - { - return ResolveVideo(args, false); - } - - /// - /// Resolves the video. - /// - /// The type of the T video type. - /// The args. - /// if set to true [parse name]. - /// ``0. - protected TVideoType ResolveVideo(ItemResolveArgs args, bool parseName) - where TVideoType : Video, new() - { - var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); - - // If the path is a file check for a matching extensions - var parser = new Naming.Video.VideoResolver(namingOptions, new PatternsLogger()); - - if (args.IsDirectory) - { - TVideoType video = null; - VideoFileInfo videoInfo = null; - - // Loop through each child file/folder and see if we find a video - foreach (var child in args.FileSystemChildren) - { - var filename = child.Name; - - if (child.IsDirectory) - { - if (IsDvdDirectory(filename)) - { - videoInfo = parser.ResolveDirectory(args.Path); - - if (videoInfo == null) - { - return null; - } - - video = new TVideoType - { - Path = args.Path, - VideoType = VideoType.Dvd, - ProductionYear = videoInfo.Year - }; - break; - } - if (IsBluRayDirectory(filename)) - { - videoInfo = parser.ResolveDirectory(args.Path); - - if (videoInfo == null) - { - return null; - } - - video = new TVideoType - { - Path = args.Path, - VideoType = VideoType.BluRay, - ProductionYear = videoInfo.Year - }; - break; - } - } - else if (IsDvdFile(filename)) - { - videoInfo = parser.ResolveDirectory(args.Path); - - if (videoInfo == null) - { - return null; - } - - video = new TVideoType - { - Path = args.Path, - VideoType = VideoType.Dvd, - ProductionYear = videoInfo.Year - }; - break; - } - } - - if (video != null) - { - video.Name = parseName ? - videoInfo.Name : - Path.GetFileName(args.Path); - - Set3DFormat(video, videoInfo); - } - - return video; - } - else - { - var videoInfo = parser.Resolve(args.Path, false, false); - - if (videoInfo == null) - { - return null; - } - - if (LibraryManager.IsVideoFile(args.Path, args.GetLibraryOptions()) || videoInfo.IsStub) - { - var path = args.Path; - - var video = new TVideoType - { - Path = path, - IsInMixedFolder = true, - ProductionYear = videoInfo.Year - }; - - SetVideoType(video, videoInfo); - - video.Name = parseName ? - videoInfo.Name : - Path.GetFileNameWithoutExtension(args.Path); - - Set3DFormat(video, videoInfo); - - return video; - } - } - - return null; - } - - protected void SetVideoType(Video video, VideoFileInfo videoInfo) - { - var extension = Path.GetExtension(video.Path); - video.VideoType = string.Equals(extension, ".iso", StringComparison.OrdinalIgnoreCase) || - string.Equals(extension, ".img", StringComparison.OrdinalIgnoreCase) ? - VideoType.Iso : - VideoType.VideoFile; - - video.IsShortcut = string.Equals(extension, ".strm", StringComparison.OrdinalIgnoreCase); - video.IsPlaceHolder = videoInfo.IsStub; - - if (videoInfo.IsStub) - { - if (string.Equals(videoInfo.StubType, "dvd", StringComparison.OrdinalIgnoreCase)) - { - video.VideoType = VideoType.Dvd; - } - else if (string.Equals(videoInfo.StubType, "hddvd", StringComparison.OrdinalIgnoreCase)) - { - video.VideoType = VideoType.HdDvd; - video.IsHD = true; - } - else if (string.Equals(videoInfo.StubType, "bluray", StringComparison.OrdinalIgnoreCase)) - { - video.VideoType = VideoType.BluRay; - video.IsHD = true; - } - else if (string.Equals(videoInfo.StubType, "hdtv", StringComparison.OrdinalIgnoreCase)) - { - video.IsHD = true; - } - } - - SetIsoType(video); - } - - protected void SetIsoType(Video video) - { - if (video.VideoType == VideoType.Iso) - { - if (video.Path.IndexOf("dvd", StringComparison.OrdinalIgnoreCase) != -1) - { - video.IsoType = IsoType.Dvd; - } - else if (video.Path.IndexOf("bluray", StringComparison.OrdinalIgnoreCase) != -1) - { - video.IsoType = IsoType.BluRay; - } - } - } - - protected void Set3DFormat(Video video, bool is3D, string format3D) - { - if (is3D) - { - if (string.Equals(format3D, "fsbs", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.FullSideBySide; - } - else if (string.Equals(format3D, "ftab", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.FullTopAndBottom; - } - else if (string.Equals(format3D, "hsbs", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.HalfSideBySide; - } - else if (string.Equals(format3D, "htab", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.HalfTopAndBottom; - } - else if (string.Equals(format3D, "sbs", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.HalfSideBySide; - } - else if (string.Equals(format3D, "sbs3d", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.HalfSideBySide; - } - else if (string.Equals(format3D, "tab", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.HalfTopAndBottom; - } - else if (string.Equals(format3D, "mvc", StringComparison.OrdinalIgnoreCase)) - { - video.Video3DFormat = Video3DFormat.MVC; - } - } - } - - protected void Set3DFormat(Video video, VideoFileInfo videoInfo) - { - Set3DFormat(video, videoInfo.Is3D, videoInfo.Format3D); - } - - protected void Set3DFormat(Video video) - { - var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); - - var resolver = new Format3DParser(namingOptions, new PatternsLogger()); - var result = resolver.Parse(video.Path); - - Set3DFormat(video, result.Is3D, result.Format3D); - } - - /// - /// Determines whether [is DVD directory] [the specified directory name]. - /// - /// Name of the directory. - /// true if [is DVD directory] [the specified directory name]; otherwise, false. - protected bool IsDvdDirectory(string directoryName) - { - return string.Equals(directoryName, "video_ts", StringComparison.OrdinalIgnoreCase); - } - - /// - /// Determines whether [is DVD file] [the specified name]. - /// - /// The name. - /// true if [is DVD file] [the specified name]; otherwise, false. - protected bool IsDvdFile(string name) - { - return string.Equals(name, "video_ts.ifo", StringComparison.OrdinalIgnoreCase); - } - - /// - /// Determines whether [is blu ray directory] [the specified directory name]. - /// - /// Name of the directory. - /// true if [is blu ray directory] [the specified directory name]; otherwise, false. - protected bool IsBluRayDirectory(string directoryName) - { - return string.Equals(directoryName, "bdmv", StringComparison.OrdinalIgnoreCase); - } - } -} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs deleted file mode 100644 index ff07c5282..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/FolderResolver.cs +++ /dev/null @@ -1,56 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Resolvers; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers -{ - /// - /// Class FolderResolver - /// - public class FolderResolver : FolderResolver - { - /// - /// Gets the priority. - /// - /// The priority. - public override ResolverPriority Priority - { - get { return ResolverPriority.Last; } - } - - /// - /// Resolves the specified args. - /// - /// The args. - /// Folder. - protected override Folder Resolve(ItemResolveArgs args) - { - if (args.IsDirectory) - { - return new Folder(); - } - - return null; - } - } - - /// - /// Class FolderResolver - /// - /// The type of the T item type. - public abstract class FolderResolver : ItemResolver - where TItemType : Folder, new() - { - /// - /// Sets the initial item values. - /// - /// The item. - /// The args. - protected override void SetInitialItemValues(TItemType item, ItemResolveArgs args) - { - base.SetInitialItemValues(item, args); - - item.IsRoot = args.Parent == null; - } - } -} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/ItemResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/ItemResolver.cs deleted file mode 100644 index a03eda263..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/ItemResolver.cs +++ /dev/null @@ -1,62 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Resolvers; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers -{ - /// - /// Class ItemResolver - /// - /// - public abstract class ItemResolver : IItemResolver - where T : BaseItem, new() - { - /// - /// Resolves the specified args. - /// - /// The args. - /// `0. - protected virtual T Resolve(ItemResolveArgs args) - { - return null; - } - - /// - /// Gets the priority. - /// - /// The priority. - public virtual ResolverPriority Priority - { - get - { - return ResolverPriority.First; - } - } - - /// - /// Sets initial values on the newly resolved item - /// - /// The item. - /// The args. - protected virtual void SetInitialItemValues(T item, ItemResolveArgs args) - { - } - - /// - /// Resolves the path. - /// - /// The args. - /// BaseItem. - BaseItem IItemResolver.ResolvePath(ItemResolveArgs args) - { - var item = Resolve(args); - - if (item != null) - { - SetInitialItemValues(item, args); - } - - return item; - } - } -} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs deleted file mode 100644 index e3447afc9..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/BoxSetResolver.cs +++ /dev/null @@ -1,77 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Entities; -using System; -using System.IO; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies -{ - /// - /// Class BoxSetResolver - /// - public class BoxSetResolver : FolderResolver - { - /// - /// Resolves the specified args. - /// - /// The args. - /// BoxSet. - protected override BoxSet Resolve(ItemResolveArgs args) - { - // It's a boxset if all of the following conditions are met: - // Is a Directory - // Contains [boxset] in the path - if (args.IsDirectory) - { - var filename = Path.GetFileName(args.Path); - - if (string.IsNullOrEmpty(filename)) - { - return null; - } - - if (filename.IndexOf("[boxset]", StringComparison.OrdinalIgnoreCase) != -1 || - args.ContainsFileSystemEntryByName("collection.xml")) - { - return new BoxSet - { - Path = args.Path, - Name = ResolverHelper.StripBrackets(Path.GetFileName(args.Path)) - }; - } - } - - return null; - } - - /// - /// Sets the initial item values. - /// - /// The item. - /// The args. - protected override void SetInitialItemValues(BoxSet item, ItemResolveArgs args) - { - base.SetInitialItemValues(item, args); - - SetProviderIdFromPath(item); - } - - /// - /// Sets the provider id from path. - /// - /// The item. - private void SetProviderIdFromPath(BaseItem item) - { - //we need to only look at the name of this actual item (not parents) - var justName = Path.GetFileName(item.Path); - - var id = justName.GetAttributeValue("tmdbid"); - - if (!string.IsNullOrEmpty(id)) - { - item.SetProviderId(MetadataProviders.Tmdb, id); - } - } - } -} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs deleted file mode 100644 index bb1d57688..000000000 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ /dev/null @@ -1,541 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Controller.Resolvers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Extensions; -using MediaBrowser.Naming.Video; -using MediaBrowser.Server.Implementations.Logging; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.IO; -using MediaBrowser.Model.IO; - -namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies -{ - /// - /// Class MovieResolver - /// - public class MovieResolver : BaseVideoResolver