don't allow theme songs to get mixed in with children

This commit is contained in:
Luke Pulverenti 2013-06-01 18:18:27 -04:00
parent 9bf346daca
commit dbf214883c
2 changed files with 16 additions and 2 deletions

View File

@ -52,6 +52,7 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
public const string TrailerFolderName = "trailers";
public const string ThemeSongsFolderName = "theme-music";
public const string ThemeSongFilename = "theme";
public const string ThemeVideosFolderName = "backdrops";
public const string XbmcTrailerFileSuffix = "-trailer";
@ -822,7 +823,7 @@ namespace MediaBrowser.Controller.Entities
// Support plex/xbmc convention
files.AddRange(resolveArgs.FileSystemChildren
.Where(i => string.Equals(System.IO.Path.GetFileNameWithoutExtension(i.FullName), "theme", StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsAudioFile(i.FullName))
.Where(i => string.Equals(System.IO.Path.GetFileNameWithoutExtension(i.FullName), ThemeSongFilename, StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsAudioFile(i.FullName))
);
return LibraryManager.ResolvePaths<Audio.Audio>(files, null).Select(audio =>

View File

@ -77,7 +77,8 @@ namespace MediaBrowser.Server.Implementations.Library
}
// Ignore trailer folders but allow it at the collection level
if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase) && !(args.Parent is AggregateFolder) && !(args.Parent is UserRootFolder))
if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase) &&
!(args.Parent is AggregateFolder) && !(args.Parent is UserRootFolder))
{
return true;
}
@ -92,6 +93,18 @@ namespace MediaBrowser.Server.Implementations.Library
return true;
}
}
else
{
if (args.Parent != null)
{
var filename = args.FileInfo.Name;
if (string.Equals(Path.GetFileNameWithoutExtension(filename), BaseItem.ThemeSongFilename) && EntityResolutionHelper.IsAudioFile(filename))
{
return true;
}
}
}
return false;
}