Fix style issues

This commit is contained in:
Bond_009 2019-07-06 16:15:38 +02:00
parent 0e0c70f782
commit ab7ef9c9cb
3 changed files with 35 additions and 67 deletions

View file

@ -5,7 +5,6 @@ using System.Text.RegularExpressions;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
namespace Emby.Server.Implementations.Library namespace Emby.Server.Implementations.Library
@ -17,12 +16,10 @@ namespace Emby.Server.Implementations.Library
{ {
private readonly ILibraryManager _libraryManager; private readonly ILibraryManager _libraryManager;
private bool _ignoreDotPrefix;
/// <summary> /// <summary>
/// Any folder named in this list will be ignored - can be added to at runtime for extensibility /// Any folder named in this list will be ignored
/// </summary> /// </summary>
public static readonly string[] IgnoreFolders = private static readonly string[] _ignoreFolders =
{ {
"metadata", "metadata",
"ps3_update", "ps3_update",
@ -43,25 +40,14 @@ namespace Emby.Server.Implementations.Library
"$RECYCLE.BIN", "$RECYCLE.BIN",
"System Volume Information", "System Volume Information",
".grab", ".grab",
// macos
".AppleDouble"
}; };
public CoreResolutionIgnoreRule(ILibraryManager libraryManager) public CoreResolutionIgnoreRule(ILibraryManager libraryManager)
{ {
_libraryManager = libraryManager; _libraryManager = libraryManager;
_ignoreDotPrefix = Environment.OSVersion.Platform != PlatformID.Win32NT;
} }
/// <summary> /// <inheritdoc />
/// Shoulds the ignore.
/// </summary>
/// <param name="fileInfo">The file information.</param>
/// <param name="parent">The parent.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
public bool ShouldIgnore(FileSystemMetadata fileInfo, BaseItem parent) public bool ShouldIgnore(FileSystemMetadata fileInfo, BaseItem parent)
{ {
// Don't ignore top level folders // Don't ignore top level folders
@ -73,46 +59,17 @@ namespace Emby.Server.Implementations.Library
var filename = fileInfo.Name; var filename = fileInfo.Name;
var path = fileInfo.FullName; var path = fileInfo.FullName;
// Handle mac .DS_Store // Ignore hidden files on UNIX
// https://github.com/MediaBrowser/MediaBrowser/issues/427 if (Environment.OSVersion.Platform != PlatformID.Win32NT
if (_ignoreDotPrefix) && filename[0] == '.')
{ {
if (filename.IndexOf('.') == 0) return true;
{
return true;
}
} }
// Ignore hidden files and folders
//if (fileInfo.IsHidden)
//{
// if (parent == null)
// {
// var parentFolderName = Path.GetFileName(_fileSystem.GetDirectoryName(path));
// if (string.Equals(parentFolderName, BaseItem.ThemeSongsFolderName, StringComparison.OrdinalIgnoreCase))
// {
// return false;
// }
// if (string.Equals(parentFolderName, BaseItem.ThemeVideosFolderName, StringComparison.OrdinalIgnoreCase))
// {
// return false;
// }
// }
// // Sometimes these are marked hidden
// if (_fileSystem.IsRootPath(path))
// {
// return false;
// }
// return true;
//}
if (fileInfo.IsDirectory) if (fileInfo.IsDirectory)
{ {
// Ignore any folders in our list // Ignore any folders in our list
if (IgnoreFolders.Contains(filename, StringComparer.OrdinalIgnoreCase)) if (_ignoreFolders.Contains(filename, StringComparer.OrdinalIgnoreCase))
{ {
return true; return true;
} }
@ -120,8 +77,9 @@ namespace Emby.Server.Implementations.Library
if (parent != null) if (parent != null)
{ {
// Ignore trailer folders but allow it at the collection level // Ignore trailer folders but allow it at the collection level
if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase) && if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase)
!(parent is AggregateFolder) && !(parent is UserRootFolder)) && !(parent is AggregateFolder)
&& !(parent is UserRootFolder))
{ {
return true; return true;
} }
@ -142,14 +100,15 @@ namespace Emby.Server.Implementations.Library
if (parent != null) if (parent != null)
{ {
// Don't resolve these into audio files // Don't resolve these into audio files
if (string.Equals(Path.GetFileNameWithoutExtension(filename), BaseItem.ThemeSongFilename) && _libraryManager.IsAudioFile(filename)) if (string.Equals(Path.GetFileNameWithoutExtension(filename), BaseItem.ThemeSongFilename)
&& _libraryManager.IsAudioFile(filename))
{ {
return true; return true;
} }
} }
// Ignore samples // Ignore samples
Match m = Regex.Match(filename,@"\bsample\b",RegexOptions.IgnoreCase); Match m = Regex.Match(filename, @"\bsample\b", RegexOptions.IgnoreCase);
return m.Success; return m.Success;
} }

View file

@ -12,7 +12,6 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
namespace Emby.Server.Implementations.Library.Resolvers.Movies namespace Emby.Server.Implementations.Library.Resolvers.Movies
@ -28,7 +27,8 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
/// <value>The priority.</value> /// <value>The priority.</value>
public override ResolverPriority Priority => ResolverPriority.Third; public override ResolverPriority Priority => ResolverPriority.Third;
public MultiItemResolverResult ResolveMultiple(Folder parent, public MultiItemResolverResult ResolveMultiple(
Folder parent,
List<FileSystemMetadata> files, List<FileSystemMetadata> files,
string collectionType, string collectionType,
IDirectoryService directoryService) IDirectoryService directoryService)
@ -46,7 +46,8 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
return result; return result;
} }
private MultiItemResolverResult ResolveMultipleInternal(Folder parent, private MultiItemResolverResult ResolveMultipleInternal(
Folder parent,
List<FileSystemMetadata> files, List<FileSystemMetadata> files,
string collectionType, string collectionType,
IDirectoryService directoryService) IDirectoryService directoryService)
@ -91,7 +92,13 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
return null; return null;
} }
private MultiItemResolverResult ResolveVideos<T>(Folder parent, IEnumerable<FileSystemMetadata> fileSystemEntries, IDirectoryService directoryService, bool suppportMultiEditions, string collectionType, bool parseName) private MultiItemResolverResult ResolveVideos<T>(
Folder parent,
IEnumerable<FileSystemMetadata> fileSystemEntries,
IDirectoryService directoryService,
bool suppportMultiEditions,
string collectionType,
bool parseName)
where T : Video, new() where T : Video, new()
{ {
var files = new List<FileSystemMetadata>(); var files = new List<FileSystemMetadata>();
@ -104,8 +111,8 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
// This is a hack but currently no better way to resolve a sometimes ambiguous situation // This is a hack but currently no better way to resolve a sometimes ambiguous situation
if (string.IsNullOrEmpty(collectionType)) if (string.IsNullOrEmpty(collectionType))
{ {
if (string.Equals(child.Name, "tvshow.nfo", StringComparison.OrdinalIgnoreCase) || if (string.Equals(child.Name, "tvshow.nfo", StringComparison.OrdinalIgnoreCase)
string.Equals(child.Name, "season.nfo", StringComparison.OrdinalIgnoreCase)) || string.Equals(child.Name, "season.nfo", StringComparison.OrdinalIgnoreCase))
{ {
return null; return null;
} }
@ -115,11 +122,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
{ {
leftOver.Add(child); leftOver.Add(child);
} }
else if (IsIgnored(child.Name)) else if (!IsIgnored(child.Name))
{
}
else
{ {
files.Add(child); files.Add(child);
} }
@ -168,7 +171,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
private static bool IsIgnored(string filename) private static bool IsIgnored(string filename)
{ {
// Ignore samples // Ignore samples
Match m = Regex.Match(filename,@"\bsample\b",RegexOptions.IgnoreCase); Match m = Regex.Match(filename, @"\bsample\b", RegexOptions.IgnoreCase);
return m.Success; return m.Success;
} }

View file

@ -8,6 +8,12 @@ namespace MediaBrowser.Controller.Resolvers
/// </summary> /// </summary>
public interface IResolverIgnoreRule public interface IResolverIgnoreRule
{ {
/// <summary>
/// Checks whether or not the file should be ignored.
/// </summary>
/// <param name="fileInfo">The file information.</param>
/// <param name="parent">The parent BaseItem.</param>
/// <returns>True if the file should be ignored.</returns>
bool ShouldIgnore(FileSystemMetadata fileInfo, BaseItem parent); bool ShouldIgnore(FileSystemMetadata fileInfo, BaseItem parent);
} }
} }