diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-28 10:18:17 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-28 10:18:17 -0400 |
| commit | 08e4f959a215911e98c5f90c36e407e7fd2b4ed6 (patch) | |
| tree | ecba7ba960379aa173d4c70a2ec2365507e0f48f | |
| parent | f22c379a138fbf1f81be9ed4665c851f0d7b2382 (diff) | |
fixes #207 - Music Content Showing as TV Content (songs as episodes)
4 files changed, 38 insertions, 39 deletions
diff --git a/MediaBrowser.Controller/Library/TVUtils.cs b/MediaBrowser.Controller/Library/TVUtils.cs index 9181fe9e8..43aef88f1 100644 --- a/MediaBrowser.Controller/Library/TVUtils.cs +++ b/MediaBrowser.Controller/Library/TVUtils.cs @@ -144,9 +144,9 @@ namespace MediaBrowser.Controller.Library /// </summary> /// <param name="path">The path.</param> /// <returns><c>true</c> if [is season folder] [the specified path]; otherwise, <c>false</c>.</returns> - public static bool IsSeasonFolder(string path) + private static bool IsSeasonFolder(string path) { - return GetSeasonNumberFromPath(path) != null; + return GetSeasonNumberFromPath(path) != null && !new DirectoryInfo(path).EnumerateFiles().Any(i => EntityResolutionHelper.IsAudioFile(i.FullName)); } /// <summary> @@ -162,12 +162,14 @@ namespace MediaBrowser.Controller.Library foreach (var child in fileSystemChildren) { - if (child.Attributes.HasFlag(FileAttributes.Hidden) || child.Attributes.HasFlag(FileAttributes.System)) + var attributes = child.Attributes; + + if (attributes.HasFlag(FileAttributes.Hidden) || attributes.HasFlag(FileAttributes.System)) { continue; } - if (child.Attributes.HasFlag(FileAttributes.Directory)) + if (attributes.HasFlag(FileAttributes.Directory)) { if (IsSeasonFolder(child.FullName)) { diff --git a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs index 627e1f08d..8a6225104 100644 --- a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs +++ b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs @@ -17,7 +17,7 @@ namespace MediaBrowser.Controller.Resolvers /// Any extension in this list is considered a video file - can be added to at runtime for extensibility /// </summary> public static List<string> VideoFileExtensions = new List<string> - { + { ".mkv", ".m2t", ".m2ts", @@ -45,13 +45,40 @@ namespace MediaBrowser.Controller.Resolvers }; /// <summary> + /// The audio file extensions + /// </summary> + private static readonly string[] AudioFileExtensions = new[] { + ".mp3", + ".flac", + ".wma", + ".aac", + ".acc", + ".m4a", + ".m4b", + ".wav", + ".ape", + ".ogg", + ".oga" + }; + + /// <summary> + /// Determines whether [is audio file] [the specified args]. + /// </summary> + /// <param name="path">The path.</param> + /// <returns><c>true</c> if [is audio file] [the specified args]; otherwise, <c>false</c>.</returns> + public static bool IsAudioFile(string path) + { + return AudioFileExtensions.Contains(Path.GetExtension(path), StringComparer.OrdinalIgnoreCase); + } + + /// <summary> /// Determines whether [is video file] [the specified path]. /// </summary> /// <param name="path">The path.</param> /// <returns><c>true</c> if [is video file] [the specified path]; otherwise, <c>false</c>.</returns> public static bool IsVideoFile(string path) { - var extension = Path.GetExtension(path) ?? string.Empty; + var extension = Path.GetExtension(path) ?? String.Empty; return VideoFileExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase); } diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs index b19ec2815..3c6cc654f 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/AudioResolver.cs @@ -1,8 +1,5 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; -using System; -using System.IO; -using System.Linq; namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio { @@ -31,7 +28,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio if (!args.IsDirectory) { - if (IsAudioFile(args.Path)) + if (EntityResolutionHelper.IsAudioFile(args.Path)) { return new Controller.Entities.Audio.Audio(); } @@ -39,32 +36,5 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio return null; } - - /// <summary> - /// The audio file extensions - /// </summary> - public static readonly string[] AudioFileExtensions = new[] { - ".mp3", - ".flac", - ".wma", - ".aac", - ".acc", - ".m4a", - ".m4b", - ".wav", - ".ape", - ".ogg", - ".oga" - }; - - /// <summary> - /// Determines whether [is audio file] [the specified args]. - /// </summary> - /// <param name="path">The path.</param> - /// <returns><c>true</c> if [is audio file] [the specified args]; otherwise, <c>false</c>.</returns> - public static bool IsAudioFile(string path) - { - return AudioFileExtensions.Contains(Path.GetExtension(path), StringComparer.OrdinalIgnoreCase); - } } } diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs index f24d23208..411e431aa 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs @@ -51,7 +51,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio foreach (var fullName in new DirectoryInfo(path).EnumerateFiles().Select(file => file.FullName)) { - if (AudioResolver.IsAudioFile(fullName)) foundAudio++; + if (EntityResolutionHelper.IsAudioFile(fullName)) foundAudio++; if (foundAudio >= 2) { return true; @@ -93,7 +93,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio foreach (var file in list) { - if (AudioResolver.IsAudioFile(file.FullName)) foundAudio++; + if (EntityResolutionHelper.IsAudioFile(file.FullName)) foundAudio++; if (foundAudio >= 2) { return true; |
